G4TrajectoriesModel Class Reference

#include <G4TrajectoriesModel.hh>

Inheritance diagram for G4TrajectoriesModel:

G4VModel

Public Member Functions

 G4TrajectoriesModel ()
 G4TrajectoriesModel (G4int drawingMode)
virtual ~G4TrajectoriesModel ()
virtual void DescribeYourselfTo (G4VGraphicsScene &)
G4bool IsDrawingModeSet () const
G4int GetDrawingMode () const
void SetDrawingMode (G4int drawingMode)
const G4VTrajectoryGetCurrentTrajectory () const
const std::map< G4String,
G4AttDef > * 
GetAttDefs () const
std::vector< G4AttValue > * CreateCurrentAttValues () const

Detailed Description

Definition at line 52 of file G4TrajectoriesModel.hh.


Constructor & Destructor Documentation

G4TrajectoriesModel::G4TrajectoriesModel (  ) 

Definition at line 44 of file G4TrajectoriesModel.cc.

References G4VModel::fGlobalDescription, G4VModel::fGlobalTag, and G4VModel::fType.

00044                                          :
00045   fDrawingModeSet(false),
00046   fDrawingMode(0),
00047   fpCurrentTrajectory(0)
00048 {
00049   fType = "G4TrajectoriesModel";
00050   fGlobalTag = "G4TrajectoriesModel for all trajectories.";
00051   fGlobalDescription = fGlobalTag;
00052 }

G4TrajectoriesModel::G4TrajectoriesModel ( G4int  drawingMode  ) 

Definition at line 54 of file G4TrajectoriesModel.cc.

References G4VModel::fGlobalDescription, and G4VModel::fGlobalTag.

00054                                                           :
00055   fDrawingModeSet(true),
00056   fDrawingMode(drawingMode),
00057   fpCurrentTrajectory(0) {
00058   fGlobalTag = "G4TrajectoriesModel for all trajectories.";
00059   fGlobalDescription = fGlobalTag;
00060 }

G4TrajectoriesModel::~G4TrajectoriesModel (  )  [virtual]

Definition at line 62 of file G4TrajectoriesModel.cc.

00062 {}


Member Function Documentation

std::vector< G4AttValue > * G4TrajectoriesModel::CreateCurrentAttValues (  )  const

Definition at line 145 of file G4TrajectoriesModel.cc.

References G4UIcommand::ConvertToString().

Referenced by G4VSceneHandler::LoadAtts().

00146 {
00147   std::vector<G4AttValue>* values = new std::vector<G4AttValue>;
00148   values->push_back
00149   (G4AttValue("EventID",G4UIcommand::ConvertToString(fEventID),""));
00150   return values;
00151 }

void G4TrajectoriesModel::DescribeYourselfTo ( G4VGraphicsScene  )  [virtual]

Implements G4VModel.

Definition at line 67 of file G4TrajectoriesModel.cc.

References G4VGraphicsScene::AddCompound(), G4VVisManager::BeginDraw(), G4VVisManager::EndDraw(), G4TrajectoryContainer::entries(), G4VModel::fpMP, G4VVisManager::GetConcreteInstance(), G4ModelingParameters::GetEvent(), and G4Event::GetEventID().

00068 {
00069   const G4Event* event = fpMP->GetEvent();
00070   if (!event) return;
00071 
00072   G4TrajectoryContainer* TC = event -> GetTrajectoryContainer ();
00073   if (!TC) return;
00074 
00075   G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
00076   if (!pVVisManager) return;
00077   
00078   fEventID = event->GetEventID();
00079 
00080   pVVisManager->BeginDraw();
00081   // The use of Begin/EndDraw (optional methods to improve drawing
00082   // speed) assumes all trajectories are drawn with the same
00083   // transformation.  If not, a fatal exception with be raised in
00084   // G4VisManager::DrawT.
00085   for (G4int iT = 0; iT < TC->entries(); iT++) {
00086     fpCurrentTrajectory = (*TC) [iT];
00087     // Debug trajectory:
00088     // fpCurrentTrajectory->ShowTrajectory(); G4cout << G4endl;
00089     // Debug G4AttValues:
00090     // G4TrajectoriesModelDebugG4AttValues(fpCurrentTrajectory);
00091     if (fpCurrentTrajectory)
00092       sceneHandler.AddCompound (*fpCurrentTrajectory);
00093   }
00094   pVVisManager->EndDraw();
00095 }

const std::map< G4String, G4AttDef > * G4TrajectoriesModel::GetAttDefs (  )  const

Definition at line 133 of file G4TrajectoriesModel.cc.

References G4AttDefStore::GetInstance().

Referenced by G4VSceneHandler::LoadAtts().

00134 {
00135   G4bool isNew;
00136   std::map<G4String,G4AttDef>* store
00137   = G4AttDefStore::GetInstance("G4TrajectoriesModel", isNew);
00138   if (isNew) {
00139     (*store)["EventID"] =
00140     G4AttDef("EventID","Event ID","Physics","","G4int");
00141   }
00142   return store;
00143 }

const G4VTrajectory* G4TrajectoriesModel::GetCurrentTrajectory (  )  const [inline]

Definition at line 68 of file G4TrajectoriesModel.hh.

Referenced by G4GMocrenFileSceneHandler::AddCompound(), and G4VSceneHandler::LoadAtts().

00069   {return fpCurrentTrajectory;}

G4int G4TrajectoriesModel::GetDrawingMode (  )  const

Definition at line 102 of file G4TrajectoriesModel.cc.

References FatalException, and G4Exception().

Referenced by G4VSceneHandler::AddCompound(), and G4GMocrenFileSceneHandler::AddCompound().

00103 {
00104   if (fDrawingModeSet) return fDrawingMode;
00105   else {
00106     G4Exception
00107       ("G4TrajectoriesModel::GetDrawingMode",
00108        "modeling0010",
00109        FatalException,
00110        "Illegal attempt to obtain i_mode."
00111        "\n  i_mode is an old trajectories parameter that is DEPRECATED"
00112        "\n  and will be removed at the next major release."
00113        );
00114     return 0;
00115   }
00116 }

G4bool G4TrajectoriesModel::IsDrawingModeSet (  )  const

Definition at line 97 of file G4TrajectoriesModel.cc.

Referenced by G4VSceneHandler::AddCompound(), and G4VisManager::DispatchToModel().

00098 {
00099   return fDrawingModeSet;
00100 }

void G4TrajectoriesModel::SetDrawingMode ( G4int  drawingMode  ) 

Definition at line 118 of file G4TrajectoriesModel.cc.

References FatalException, and G4Exception().

Referenced by G4VisManager::Draw().

00119 {
00120   if (fDrawingModeSet) fDrawingMode = drawingMode;
00121   else {
00122     G4Exception
00123       ("G4TrajectoriesModel::SetDrawingMode",
00124        "modeling0011",
00125        FatalException,
00126        "Illegal attempt to set i_mode."
00127        "\n  i_mode is an old trajectories parameter that is DEPRECATED"
00128        "\n  and will be removed at the next major release."
00129        );
00130   }
00131 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:53:33 2013 for Geant4 by  doxygen 1.4.7