Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4TrajectoriesModel Class Reference

#include <G4TrajectoriesModel.hh>

Inheritance diagram for G4TrajectoriesModel:

Public Member Functions

 G4TrajectoriesModel ()
virtual ~G4TrajectoriesModel ()
virtual void DescribeYourselfTo (G4VGraphicsScene &)
const G4VTrajectoryGetCurrentTrajectory () const
void SetCurrentTrajectory (const G4VTrajectory *pTraj)
void SetRunID (G4int runID)
void SetEventID (G4int eventID)
const std::map< G4String, G4AttDef > * GetAttDefs () const
std::vector< G4AttValue > * CreateCurrentAttValues () const
Public Member Functions inherited from G4VModel
 G4VModel (const G4ModelingParameters *=0)
virtual ~G4VModel ()
const G4ModelingParametersGetModelingParameters () const
const G4StringGetType () const
virtual G4String GetCurrentDescription () const
virtual G4String GetCurrentTag () const
const G4VisExtentGetExtent () const
const G4StringGetGlobalDescription () const
const G4StringGetGlobalTag () const
void SetModelingParameters (const G4ModelingParameters *)
void SetExtent (const G4VisExtent &)
void SetType (const G4String &)
void SetGlobalDescription (const G4String &)
void SetGlobalTag (const G4String &)
virtual G4bool Validate (G4bool warn=true)

Additional Inherited Members

Static Public Member Functions inherited from G4VModel
static const G4ModelingParametersGetCurrentModelingParameters ()
static void SetCurrentModelingParameters (const G4ModelingParameters *)
Protected Attributes inherited from G4VModel
G4String fType
G4String fGlobalTag
G4String fGlobalDescription
G4VisExtent fExtent
const G4ModelingParametersfpMP

Detailed Description

Definition at line 51 of file G4TrajectoriesModel.hh.

Constructor & Destructor Documentation

◆ G4TrajectoriesModel()

G4TrajectoriesModel::G4TrajectoriesModel ( )

Definition at line 51 of file G4TrajectoriesModel.cc.

52:fpCurrentTrajectory(0)
53,fRunID(-1)
54,fEventID(-1)
55{
56 fType = "G4TrajectoriesModel";
57 fGlobalTag = "G4TrajectoriesModel for any type of trajectory";
59}
G4String fGlobalDescription
Definition G4VModel.hh:106
G4String fType
Definition G4VModel.hh:104
G4String fGlobalTag
Definition G4VModel.hh:105

◆ ~G4TrajectoriesModel()

G4TrajectoriesModel::~G4TrajectoriesModel ( )
virtual

Definition at line 61 of file G4TrajectoriesModel.cc.

61{}

Member Function Documentation

◆ CreateCurrentAttValues()

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

Definition at line 137 of file G4TrajectoriesModel.cc.

138{
139 std::vector<G4AttValue>* values = new std::vector<G4AttValue>;
140 values->push_back
141 (G4AttValue("RunID",G4UIcommand::ConvertToString(fRunID),""));
142 values->push_back
143 (G4AttValue("EventID",G4UIcommand::ConvertToString(fEventID),""));
144 return values;
145}
static G4String ConvertToString(G4bool boolVal)

Referenced by G4VSceneHandler::LoadAtts().

◆ DescribeYourselfTo()

void G4TrajectoriesModel::DescribeYourselfTo ( G4VGraphicsScene & sceneHandler)
virtual

Implements G4VModel.

Definition at line 65 of file G4TrajectoriesModel.cc.

66{
67 G4RunManager* runManager = G4RunManagerFactory::GetMasterRunManager();
68 const G4Run* currentRun = runManager->GetCurrentRun();
69 if(currentRun)
70 {
71 fRunID = currentRun->GetRunID();
72 }
73 else
74 {
75 fRunID = -1;
76 return;
77 }
78
79 const G4Event* event = fpMP->GetEvent();
80 if (event) {
81 fEventID = event->GetEventID();
82 } else {
83 fEventID = -1;
84 return;
85 }
86
87 G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
88 if (!pVVisManager) return;
89
90 G4TrajectoryContainer* TC = event -> GetTrajectoryContainer ();
91 if (!TC) return;
92
93 // Need to set the static "current" modeling parameters separately
95
96 for (std::size_t iT = 0; iT < TC->entries(); ++iT) {
97 fpCurrentTrajectory = (*TC) [iT];
98 // Debug trajectory:
99 // fpCurrentTrajectory->ShowTrajectory(); G4cout << G4endl;
100 // Debug G4AttValues:
101 // G4TrajectoriesModelDebugG4AttValues(fpCurrentTrajectory);
102 if (fpCurrentTrajectory)
103 sceneHandler.AddCompound (*fpCurrentTrajectory);
104 }
105
106 // If time windowing is active, display head time if requested
107 const auto& timeParameters = fpMP->GetTimeParameters();
108 if (timeParameters.fDisplayHeadTime && timeParameters.fStartTime >= 0.) {
109 const auto& tp = timeParameters; // Alias
110 std::ostringstream oss;
111 oss << std::fixed << std::setprecision(2) << timeParameters.fEndTime/ns << " ns";
112 G4Text headTime(oss.str());
113 headTime.SetLayout(G4Text::centre);
114 headTime.SetScreenSize(tp.fDisplayHeadTimeSize);
115 headTime.SetPosition(G4Point3D(tp.fDisplayHeadTimeX, tp.fDisplayHeadTimeY, 0.));
116 G4VisAttributes headTimeVisAtts
117 (G4Colour(tp.fDisplayHeadTimeRed, tp.fDisplayHeadTimeGreen, tp.fDisplayHeadTimeBlue));
118 headTime.SetVisAttributes(&headTimeVisAtts);
119 pVVisManager->Draw2D(headTime);
120 }
121}
HepGeom::Point3D< G4double > G4Point3D
Definition G4Point3D.hh:34
static G4RunManager * GetMasterRunManager()
const G4Run * GetCurrentRun() const
G4int GetRunID() const
Definition G4Run.hh:82
@ centre
Definition G4Text.hh:76
std::size_t entries() const
virtual void AddCompound(const G4VTrajectory &)=0
static void SetCurrentModelingParameters(const G4ModelingParameters *)
Definition G4VModel.cc:63
const G4ModelingParameters * fpMP
Definition G4VModel.hh:108
virtual void Draw2D(const G4Circle &, const G4Transform3D &objectTransformation=G4Transform3D())=0
static G4VVisManager * GetConcreteInstance()
#define ns(x)
Definition xmltok.c:1649

◆ GetAttDefs()

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

Definition at line 123 of file G4TrajectoriesModel.cc.

124{
125 G4bool isNew;
126 std::map<G4String,G4AttDef>* store
127 = G4AttDefStore::GetInstance("G4TrajectoriesModel", isNew);
128 if (isNew) {
129 (*store)["RunID"] =
130 G4AttDef("RunID","Run ID","Physics","","G4int");
131 (*store)["EventID"] =
132 G4AttDef("EventID","Event ID","Physics","","G4int");
133 }
134 return store;
135}
bool G4bool
Definition G4Types.hh:86
std::map< G4String, G4AttDef > * GetInstance(const G4String &storeKey, G4bool &isNew)

Referenced by G4VSceneHandler::LoadAtts(), G4VisCommandList::SetNewValue(), and G4VisCommandSceneAddTrajectories::SetNewValue().

◆ GetCurrentTrajectory()

const G4VTrajectory * G4TrajectoriesModel::GetCurrentTrajectory ( ) const
inline

Definition at line 62 of file G4TrajectoriesModel.hh.

63 {return fpCurrentTrajectory;}

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

◆ SetCurrentTrajectory()

void G4TrajectoriesModel::SetCurrentTrajectory ( const G4VTrajectory * pTraj)
inline

Definition at line 65 of file G4TrajectoriesModel.hh.

66 {fpCurrentTrajectory = pTraj;}

Referenced by G4VisManager::Draw().

◆ SetEventID()

void G4TrajectoriesModel::SetEventID ( G4int eventID)
inline

Definition at line 71 of file G4TrajectoriesModel.hh.

72 {fEventID = eventID;}

Referenced by G4VisManager::Draw().

◆ SetRunID()

void G4TrajectoriesModel::SetRunID ( G4int runID)
inline

Definition at line 68 of file G4TrajectoriesModel.hh.

69 {fRunID = runID;}

Referenced by G4VisManager::Draw().


The documentation for this class was generated from the following files: