Geant4-11
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
G4EventManager Class Reference

#include <G4EventManager.hh>

Public Types

using ProfilerConfig = G4ProfilerConfig< G4ProfileType::Event >
 

Public Member Functions

void AbortCurrentEvent ()
 
 G4EventManager ()
 
 G4EventManager (const G4EventManager &right)=delete
 
const G4Event * GetConstCurrentEvent ()
 
G4Event * GetNonconstCurrentEvent ()
 
G4PrimaryTransformer * GetPrimaryTransformer () const
 
G4StackManager * GetStackManager () const
 
G4TrackingManager * GetTrackingManager () const
 
G4UserEventAction * GetUserEventAction ()
 
G4VUserEventInformation * GetUserInformation ()
 
G4UserStackingAction * GetUserStackingAction ()
 
G4UserSteppingAction * GetUserSteppingAction ()
 
G4UserTrackingAction * GetUserTrackingAction ()
 
G4int GetVerboseLevel ()
 
void KeepTheCurrentEvent ()
 
G4EventManager & operator= (const G4EventManager &right)=delete
 
void ProcessOneEvent (G4Event *anEvent)
 
void ProcessOneEvent (G4TrackVector *trackVector, G4Event *anEvent=nullptr)
 
void SetNumberOfAdditionalWaitingStacks (G4int iAdd)
 
void SetPrimaryTransformer (G4PrimaryTransformer *tf)
 
void SetUserAction (G4UserEventAction *userAction)
 
void SetUserAction (G4UserStackingAction *userAction)
 
void SetUserAction (G4UserSteppingAction *userAction)
 
void SetUserAction (G4UserTrackingAction *userAction)
 
void SetUserInformation (G4VUserEventInformation *anInfo)
 
void SetVerboseLevel (G4int value)
 
void StackTracks (G4TrackVector *trackVector, G4bool IDhasAlreadySet=false)
 
void StoreRandomNumberStatusToG4Event (G4int vl)
 
 ~G4EventManager ()
 

Static Public Member Functions

static G4EventManager * GetEventManager ()
 

Private Member Functions

void DoProcessing (G4Event *anEvent)
 

Private Attributes

G4bool abortRequested = false
 
G4Event * currentEvent = nullptr
 
std::unique_ptr< ProfilerConfig > eventProfiler
 
G4String randomNumberStatusToG4Event
 
G4SDManager * sdManager = nullptr
 
G4StateManager * stateManager = nullptr
 
G4int storetRandomNumberStatusToG4Event = 0
 
G4EvManMessenger * theMessenger = nullptr
 
G4StackManager * trackContainer = nullptr
 
G4int trackIDCounter = 0
 
G4bool tracking = false
 
G4TrackingManager * trackManager = nullptr
 
G4TrajectoryContainer * trajectoryContainer = nullptr
 
G4PrimaryTransformer * transformer = nullptr
 
G4UserEventAction * userEventAction = nullptr
 
G4UserStackingAction * userStackingAction = nullptr
 
G4UserSteppingAction * userSteppingAction = nullptr
 
G4UserTrackingAction * userTrackingAction = nullptr
 
G4int verboseLevel = 0
 

Static Private Attributes

static G4ThreadLocal G4EventManager * fpEventManager = nullptr
 

Detailed Description

Definition at line 56 of file G4EventManager.hh.

Member Typedef Documentation

◆ ProfilerConfig

Definition at line 59 of file G4EventManager.hh.

Constructor & Destructor Documentation

◆ G4EventManager() [1/2]

G4EventManager::G4EventManager ( )

Definition at line 57 of file G4EventManager.cc.

58{
59 if(fpEventManager != nullptr)
60 {
61 G4Exception("G4EventManager::G4EventManager", "Event0001", FatalException,
62 "G4EventManager::G4EventManager() has already been made.");
63 }
64 else
65 {
72 fpEventManager = this;
73 }
74}
@ FatalException
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition: G4Exception.cc:35
G4EvManMessenger * theMessenger
G4StateManager * stateManager
static G4ThreadLocal G4EventManager * fpEventManager
G4PrimaryTransformer * transformer
G4StackManager * trackContainer
G4SDManager * sdManager
G4TrackingManager * trackManager
static G4SDManager * GetSDMpointerIfExist()
Definition: G4SDManager.cc:47
static G4StateManager * GetStateManager()

References FatalException, fpEventManager, G4Exception(), G4SDManager::GetSDMpointerIfExist(), G4StateManager::GetStateManager(), sdManager, stateManager, theMessenger, trackContainer, trackManager, and transformer.

◆ ~G4EventManager()

G4EventManager::~G4EventManager ( )

Definition at line 76 of file G4EventManager.cc.

77{
78 delete trackContainer;
79 delete transformer;
80 delete trackManager;
81 delete theMessenger;
82 delete userEventAction;
83 fpEventManager = nullptr;
84}
G4UserEventAction * userEventAction

References fpEventManager, theMessenger, trackContainer, trackManager, transformer, and userEventAction.

◆ G4EventManager() [2/2]

G4EventManager::G4EventManager ( const G4EventManager &  right)
delete

Member Function Documentation

◆ AbortCurrentEvent()

void G4EventManager::AbortCurrentEvent ( )

◆ DoProcessing()

void G4EventManager::DoProcessing ( G4Event *  anEvent)
private

Definition at line 86 of file G4EventManager.cc.

87{
88 abortRequested = false;
90 if(currentState != G4State_GeomClosed)
91 {
92 G4Exception("G4EventManager::ProcessOneEvent", "Event0002", JustWarning,
93 "IllegalState -- Geometry not closed: cannot process an event.");
94 return;
95 }
96 currentEvent = anEvent;
99 {
100 std::ostringstream oss;
102 randomNumberStatusToG4Event = oss.str();
104 }
105
106 // Resetting Navigator has been moved to G4EventManager,
107 // so that resetting is now done for every event.
108 G4ThreeVector center(0,0,0);
111 navigator->LocateGlobalPointAndSetup(center,0,false);
112
113 G4Track* track = nullptr;
114 G4TrackStatus istop = fAlive;
115
116#ifdef G4VERBOSE
117 if ( verboseLevel > 0 )
118 {
119 G4cout << "=====================================" << G4endl;
120 G4cout << " G4EventManager::ProcessOneEvent() " << G4endl;
121 G4cout << "=====================================" << G4endl;
122 }
123#endif
124
126
127#ifdef G4_STORE_TRAJECTORY
128 trajectoryContainer = nullptr;
129#endif
130
132 if(sdManager != nullptr)
134
136
137#if defined(GEANT4_USE_TIMEMORY)
139#endif
140
141#ifdef G4VERBOSE
142 if ( verboseLevel > 1 )
143 {
145 << " vertices passed from G4Event." << G4endl;
146 }
147#endif
148
149 if(!abortRequested)
150 {
152 }
153
154#ifdef G4VERBOSE
155 if ( verboseLevel > 0 )
156 {
157 G4cout << trackContainer->GetNTotalTrack() << " primaries "
158 << "are passed from G4EventTransformer." << G4endl;
159 G4cout << "!!!!!!! Now start processing an event !!!!!!!" << G4endl;
160 }
161#endif
162
163 std::unordered_set<G4VTrackingManager *> trackingManagersToFlush;
164
165 do
166 {
167 G4VTrajectory* previousTrajectory;
168 while( (track=trackContainer->PopNextTrack(&previousTrajectory)) != nullptr )
169 { // Loop checking 12.28.2015 M.Asai
170
171 const G4ParticleDefinition* partDef = track->GetParticleDefinition();
172 G4VTrackingManager* particleTrackingManager = partDef->GetTrackingManager();
173
174 if (particleTrackingManager != nullptr)
175 {
176#ifdef G4VERBOSE
177 if ( verboseLevel > 1 )
178 {
179 G4cout << "Track " << track << " (trackID " << track->GetTrackID()
180 << ", parentID " << track->GetParentID()
181 << ") is handed over to custom TrackingManager." << G4endl;
182 }
183#endif
184
185 particleTrackingManager->HandOverOneTrack(track);
186 // The particle's tracking manager may either track immediately or
187 // defer processing until FlushEvent is called. Thus, we must neither
188 // check the track's status nor stack secondaries.
189
190 // Remember this tracking manager to later call FlushEvent.
191 trackingManagersToFlush.insert(particleTrackingManager);
192
193 } else {
194#ifdef G4VERBOSE
195 if ( verboseLevel > 1 )
196 {
197 G4cout << "Track " << track << " (trackID " << track->GetTrackID()
198 << ", parentID " << track->GetParentID()
199 << ") is passed to G4TrackingManager." << G4endl;
200 }
201#endif
202
203 tracking = true;
205 istop = track->GetTrackStatus();
206 tracking = false;
207
208#ifdef G4VERBOSE
209 if ( verboseLevel > 0 )
210 {
211 G4cout << "Track (trackID " << track->GetTrackID()
212 << ", parentID " << track->GetParentID()
213 << ") is processed with stopping code " << istop << G4endl;
214 }
215#endif
216
217 G4VTrajectory* aTrajectory = nullptr;
218#ifdef G4_STORE_TRAJECTORY
219 aTrajectory = trackManager->GimmeTrajectory();
220
221 if(previousTrajectory != nullptr)
222 {
223 previousTrajectory->MergeTrajectory(aTrajectory);
224 delete aTrajectory;
225 aTrajectory = previousTrajectory;
226 }
227 if(aTrajectory&&(istop!=fStopButAlive)&&(istop!=fSuspend))
228 {
229 if(trajectoryContainer == nullptr)
230 {
233 }
234 trajectoryContainer->insert(aTrajectory);
235 }
236#endif
237
239 switch (istop)
240 {
241 case fStopButAlive:
242 case fSuspend:
243 trackContainer->PushOneTrack( track, aTrajectory );
244 StackTracks( secondaries );
245 break;
246
249 StackTracks( secondaries );
250 break;
251
252 case fStopAndKill:
253 StackTracks( secondaries );
254 delete track;
255 break;
256
257 case fAlive:
258 G4Exception("G4EventManager::DoProcessing", "Event004", JustWarning,
259 "Illegal trackstatus returned from G4TrackingManager."\
260 " Continue with simulation.");
261 break;
263 if( secondaries )
264 {
265 for(std::size_t i=0; i<secondaries->size(); ++i)
266 { delete (*secondaries)[i]; }
267 secondaries->clear();
268 }
269 delete track;
270 break;
271 }
272 }
273 }
274
275 // Flush all tracking managers, which may have deferred processing until now.
276 for (G4VTrackingManager *tm : trackingManagersToFlush)
277 {
278 tm->FlushEvent();
279 }
280 trackingManagersToFlush.clear();
281
282 // Check if flushing one of the tracking managers stacked new secondaries.
283 } while (trackContainer->GetNUrgentTrack() > 0);
284
285#ifdef G4VERBOSE
286 if ( verboseLevel > 0 )
287 {
288 G4cout << "NULL returned from G4StackManager." << G4endl;
289 G4cout << "Terminate current event processing." << G4endl;
290 }
291#endif
292
293 if(sdManager != nullptr)
294 {
296 }
297
298#if defined(GEANT4_USE_TIMEMORY)
299 eventProfiler.reset();
300#endif
301
303 {
305 }
306
308 currentEvent = nullptr;
309 abortRequested = false;
310}
G4ApplicationState
@ G4State_EventProc
@ G4State_GeomClosed
@ JustWarning
G4TrackStatus
@ fKillTrackAndSecondaries
@ fSuspend
@ fAlive
@ fStopAndKill
@ fStopButAlive
@ fPostponeToNextEvent
std::vector< G4Track * > G4TrackVector
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
static std::ostream & saveFullState(std::ostream &os)
Definition: Random.cc:288
std::unique_ptr< ProfilerConfig > eventProfiler
G4ProfilerConfig< G4ProfileType::Event > ProfilerConfig
G4int storetRandomNumberStatusToG4Event
G4TrajectoryContainer * trajectoryContainer
G4Event * currentEvent
void StackTracks(G4TrackVector *trackVector, G4bool IDhasAlreadySet=false)
G4String randomNumberStatusToG4Event
G4int GetNumberOfPrimaryVertex() const
Definition: G4Event.hh:133
G4HCofThisEvent * GetHCofThisEvent() const
Definition: G4Event.hh:156
void SetRandomNumberStatusForProcessing(G4String &st)
Definition: G4Event.hh:95
void SetHCofThisEvent(G4HCofThisEvent *value)
Definition: G4Event.hh:82
void SetTrajectoryContainer(G4TrajectoryContainer *value)
Definition: G4Event.hh:86
G4VTrackingManager * GetTrackingManager() const
G4TrackVector * GimmePrimaries(G4Event *anEvent, G4int trackIDCounter=0)
void TerminateCurrentEvent(G4HCofThisEvent *HCE)
Definition: G4SDManager.cc:120
G4HCofThisEvent * PrepareNewEvent()
Definition: G4SDManager.cc:113
G4int GetNTotalTrack() const
G4int GetNUrgentTrack() const
G4Track * PopNextTrack(G4VTrajectory **newTrajectory)
G4int PushOneTrack(G4Track *newTrack, G4VTrajectory *newTrajectory=nullptr)
G4int PrepareNewEvent()
const G4ApplicationState & GetCurrentState() const
G4bool SetNewState(const G4ApplicationState &requestedState)
G4TrackStatus GetTrackStatus() const
G4int GetTrackID() const
const G4ParticleDefinition * GetParticleDefinition() const
G4int GetParentID() const
G4TrackVector * GimmeSecondaries() const
void ProcessOneTrack(G4Track *apValueG4Track)
G4VTrajectory * GimmeTrajectory() const
G4bool insert(G4VTrajectory *p)
static G4TransportationManager * GetTransportationManager()
G4Navigator * GetNavigatorForTracking() const
virtual void BeginOfEventAction(const G4Event *anEvent)
virtual void EndOfEventAction(const G4Event *anEvent)
virtual void HandOverOneTrack(G4Track *aTrack)=0
virtual void MergeTrajectory(G4VTrajectory *secondTrajectory)=0

References abortRequested, G4UserEventAction::BeginOfEventAction(), currentEvent, G4UserEventAction::EndOfEventAction(), eventProfiler, fAlive, fKillTrackAndSecondaries, fPostponeToNextEvent, fStopAndKill, fStopButAlive, fSuspend, G4cout, G4endl, G4Exception(), G4State_EventProc, G4State_GeomClosed, G4StateManager::GetCurrentState(), G4Event::GetHCofThisEvent(), G4TransportationManager::GetNavigatorForTracking(), G4StackManager::GetNTotalTrack(), G4Event::GetNumberOfPrimaryVertex(), G4StackManager::GetNUrgentTrack(), G4Track::GetParentID(), G4Track::GetParticleDefinition(), G4SDManager::GetSDMpointerIfExist(), G4Track::GetTrackID(), G4ParticleDefinition::GetTrackingManager(), G4Track::GetTrackStatus(), G4TransportationManager::GetTransportationManager(), G4PrimaryTransformer::GimmePrimaries(), G4TrackingManager::GimmeSecondaries(), G4TrackingManager::GimmeTrajectory(), G4VTrackingManager::HandOverOneTrack(), G4TrajectoryContainer::insert(), JustWarning, G4VTrajectory::MergeTrajectory(), write_gdml::navigator, G4StackManager::PopNextTrack(), G4SDManager::PrepareNewEvent(), G4StackManager::PrepareNewEvent(), G4TrackingManager::ProcessOneTrack(), G4StackManager::PushOneTrack(), randomNumberStatusToG4Event, CLHEP::HepRandom::saveFullState(), sdManager, G4Event::SetHCofThisEvent(), G4StateManager::SetNewState(), G4Event::SetRandomNumberStatusForProcessing(), G4Event::SetTrajectoryContainer(), StackTracks(), stateManager, storetRandomNumberStatusToG4Event, G4SDManager::TerminateCurrentEvent(), G4InuclParticleNames::tm, trackContainer, trackIDCounter, tracking, trackManager, trajectoryContainer, transformer, userEventAction, and verboseLevel.

Referenced by ProcessOneEvent().

◆ GetConstCurrentEvent()

const G4Event * G4EventManager::GetConstCurrentEvent ( )
inline

Definition at line 95 of file G4EventManager.hh.

96 { return currentEvent; }

References currentEvent.

Referenced by G4VisManager::Draw(), G4VisManager::EndOfEvent(), and export_G4EventManager().

◆ GetEventManager()

G4EventManager * G4EventManager::GetEventManager ( )
static

◆ GetNonconstCurrentEvent()

G4Event * G4EventManager::GetNonconstCurrentEvent ( )
inline

Definition at line 97 of file G4EventManager.hh.

98 { return currentEvent; }

References currentEvent.

Referenced by export_G4EventManager().

◆ GetPrimaryTransformer()

G4PrimaryTransformer * G4EventManager::GetPrimaryTransformer ( ) const
inline

Definition at line 153 of file G4EventManager.hh.

154 { return transformer; }

References transformer.

Referenced by G4RunManagerKernel::GetPrimaryTransformer().

◆ GetStackManager()

G4StackManager * G4EventManager::GetStackManager ( ) const
inline

Definition at line 132 of file G4EventManager.hh.

133 { return trackContainer; }

References trackContainer.

Referenced by export_G4EventManager(), and G4RunManagerKernel::GetStackManager().

◆ GetTrackingManager()

G4TrackingManager * G4EventManager::GetTrackingManager ( ) const
inline

◆ GetUserEventAction()

G4UserEventAction * G4EventManager::GetUserEventAction ( )
inline

Definition at line 113 of file G4EventManager.hh.

114 { return userEventAction; }

References userEventAction.

Referenced by G4MaterialScanner::StoreUserActions(), and G4TheRayTracer::StoreUserActions().

◆ GetUserInformation()

G4VUserEventInformation * G4EventManager::GetUserInformation ( )

Definition at line 420 of file G4EventManager.cc.

421{
423 if(currentState != G4State_EventProc || currentEvent == 0)
424 {
425 return nullptr;
426 }
427
429}
G4VUserEventInformation * GetUserInformation() const
Definition: G4Event.hh:173

References currentEvent, G4State_EventProc, G4StateManager::GetCurrentState(), G4Event::GetUserInformation(), and stateManager.

Referenced by export_G4EventManager().

◆ GetUserStackingAction()

G4UserStackingAction * G4EventManager::GetUserStackingAction ( )
inline

Definition at line 115 of file G4EventManager.hh.

116 { return userStackingAction; }
G4UserStackingAction * userStackingAction

References userStackingAction.

Referenced by G4MaterialScanner::StoreUserActions(), and G4TheRayTracer::StoreUserActions().

◆ GetUserSteppingAction()

G4UserSteppingAction * G4EventManager::GetUserSteppingAction ( )
inline

Definition at line 119 of file G4EventManager.hh.

120 { return userSteppingAction; }
G4UserSteppingAction * userSteppingAction

References userSteppingAction.

Referenced by G4MaterialScanner::StoreUserActions(), and G4TheRayTracer::StoreUserActions().

◆ GetUserTrackingAction()

G4UserTrackingAction * G4EventManager::GetUserTrackingAction ( )
inline

◆ GetVerboseLevel()

G4int G4EventManager::GetVerboseLevel ( )
inline

Definition at line 137 of file G4EventManager.hh.

138 { return verboseLevel; }

References verboseLevel.

Referenced by export_G4EventManager(), and G4EvManMessenger::GetCurrentValue().

◆ KeepTheCurrentEvent()

void G4EventManager::KeepTheCurrentEvent ( )

Definition at line 431 of file G4EventManager.cc.

432{
433 if(currentEvent != nullptr) { currentEvent->KeepTheEvent(); }
434}
void KeepTheEvent(G4bool vl=true)
Definition: G4Event.hh:100

References currentEvent, and G4Event::KeepTheEvent().

Referenced by G4VisManager::EndOfEvent(), and G4EvManMessenger::SetNewValue().

◆ operator=()

G4EventManager & G4EventManager::operator= ( const G4EventManager &  right)
delete

◆ ProcessOneEvent() [1/2]

void G4EventManager::ProcessOneEvent ( G4Event *  anEvent)

◆ ProcessOneEvent() [2/2]

void G4EventManager::ProcessOneEvent ( G4TrackVector *  trackVector,
G4Event *  anEvent = nullptr 
)

Definition at line 380 of file G4EventManager.cc.

382{
383 static G4ThreadLocal G4String* randStat = nullptr;
384 if (randStat == nullptr) randStat = new G4String;
385 trackIDCounter = 0;
386 G4bool tempEvent = false;
387 if(anEvent == nullptr)
388 {
389 anEvent = new G4Event();
390 tempEvent = true;
391 }
394 {
395 std::ostringstream oss;
397 (*randStat) = oss.str();
398 anEvent->SetRandomNumberStatus(*randStat);
399 }
400 StackTracks(trackVector,false);
401 DoProcessing(anEvent);
402 if(tempEvent) { delete anEvent; }
403}
bool G4bool
Definition: G4Types.hh:86
void SetRandomNumberStatus(G4String &st)
Definition: G4Event.hh:90
#define G4ThreadLocal
Definition: tls.hh:77

References DoProcessing(), G4ThreadLocal, CLHEP::HepRandom::saveFullState(), G4Event::SetRandomNumberStatus(), StackTracks(), storetRandomNumberStatusToG4Event, and trackIDCounter.

◆ SetNumberOfAdditionalWaitingStacks()

void G4EventManager::SetNumberOfAdditionalWaitingStacks ( G4int  iAdd)
inline

◆ SetPrimaryTransformer()

void G4EventManager::SetPrimaryTransformer ( G4PrimaryTransformer *  tf)
inline

Definition at line 155 of file G4EventManager.hh.

156 { transformer = tf; }

References transformer.

Referenced by G4RunManagerKernel::SetPrimaryTransformer().

◆ SetUserAction() [1/4]

void G4EventManager::SetUserAction ( G4UserEventAction *  userAction)

◆ SetUserAction() [2/4]

void G4EventManager::SetUserAction ( G4UserStackingAction *  userAction)

Definition at line 356 of file G4EventManager.cc.

357{
358 userStackingAction = userAction;
360}
void SetUserStackingAction(G4UserStackingAction *value)

References G4StackManager::SetUserStackingAction(), trackContainer, and userStackingAction.

◆ SetUserAction() [3/4]

void G4EventManager::SetUserAction ( G4UserSteppingAction *  userAction)

Definition at line 368 of file G4EventManager.cc.

369{
370 userSteppingAction = userAction;
371 trackManager->SetUserAction(userAction);
372}
void SetUserAction(G4UserTrackingAction *apAction)

References G4TrackingManager::SetUserAction(), trackManager, and userSteppingAction.

◆ SetUserAction() [4/4]

void G4EventManager::SetUserAction ( G4UserTrackingAction *  userAction)

Definition at line 362 of file G4EventManager.cc.

363{
364 userTrackingAction = userAction;
365 trackManager->SetUserAction(userAction);
366}

References G4TrackingManager::SetUserAction(), trackManager, and userTrackingAction.

◆ SetUserInformation()

void G4EventManager::SetUserInformation ( G4VUserEventInformation *  anInfo)

Definition at line 405 of file G4EventManager.cc.

406{
408 if(currentState != G4State_EventProc || currentEvent == 0)
409 {
410 G4Exception("G4EventManager::SetUserInformation",
411 "Event0003", JustWarning,
412 "G4VUserEventInformation cannot be set because of absence "\
413 "of G4Event.");
414 return;
415 }
416
418}
void SetUserInformation(G4VUserEventInformation *anInfo)
Definition: G4Event.hh:171

References currentEvent, G4Exception(), G4State_EventProc, G4StateManager::GetCurrentState(), JustWarning, G4Event::SetUserInformation(), and stateManager.

Referenced by export_G4EventManager().

◆ SetVerboseLevel()

void G4EventManager::SetVerboseLevel ( G4int  value)
inline

◆ StackTracks()

void G4EventManager::StackTracks ( G4TrackVector *  trackVector,
G4bool  IDhasAlreadySet = false 
)

Definition at line 312 of file G4EventManager.cc.

314{
315 if( trackVector != nullptr )
316 {
317 if( trackVector->size() == 0 ) return;
318 for( auto newTrack : *trackVector )
319 {
321 if(!IDhasAlreadySet)
322 {
323 newTrack->SetTrackID( trackIDCounter );
324 if(newTrack->GetDynamicParticle()->GetPrimaryParticle())
325 {
327 = (G4PrimaryParticle*)(newTrack->GetDynamicParticle()->GetPrimaryParticle());
328 pp->SetTrackID(trackIDCounter);
329 }
330 }
331 newTrack->SetOriginTouchableHandle(newTrack->GetTouchableHandle());
332 trackContainer->PushOneTrack( newTrack );
333#ifdef G4VERBOSE
334 if ( verboseLevel > 1 )
335 {
336 G4cout << "A new track " << newTrack
337 << " (trackID " << newTrack->GetTrackID()
338 << ", parentID " << newTrack->GetParentID()
339 << ") is passed to G4StackManager." << G4endl;
340 }
341#endif
342 }
343 trackVector->clear();
344 }
345}

References G4cout, G4endl, G4InuclParticleNames::pp, G4StackManager::PushOneTrack(), trackContainer, trackIDCounter, and verboseLevel.

Referenced by DoProcessing(), and ProcessOneEvent().

◆ StoreRandomNumberStatusToG4Event()

void G4EventManager::StoreRandomNumberStatusToG4Event ( G4int  vl)
inline

Field Documentation

◆ abortRequested

G4bool G4EventManager::abortRequested = false
private

Definition at line 178 of file G4EventManager.hh.

Referenced by AbortCurrentEvent(), and DoProcessing().

◆ currentEvent

G4Event* G4EventManager::currentEvent = nullptr
private

◆ eventProfiler

std::unique_ptr<ProfilerConfig> G4EventManager::eventProfiler
private

Definition at line 193 of file G4EventManager.hh.

Referenced by DoProcessing().

◆ fpEventManager

G4ThreadLocal G4EventManager * G4EventManager::fpEventManager = nullptr
staticprivate

Definition at line 166 of file G4EventManager.hh.

Referenced by G4EventManager(), GetEventManager(), and ~G4EventManager().

◆ randomNumberStatusToG4Event

G4String G4EventManager::randomNumberStatusToG4Event
private

Definition at line 188 of file G4EventManager.hh.

Referenced by DoProcessing().

◆ sdManager

G4SDManager* G4EventManager::sdManager = nullptr
private

Definition at line 175 of file G4EventManager.hh.

Referenced by DoProcessing(), and G4EventManager().

◆ stateManager

G4StateManager* G4EventManager::stateManager = nullptr
private

◆ storetRandomNumberStatusToG4Event

G4int G4EventManager::storetRandomNumberStatusToG4Event = 0
private

◆ theMessenger

G4EvManMessenger* G4EventManager::theMessenger = nullptr
private

Definition at line 180 of file G4EventManager.hh.

Referenced by G4EventManager(), and ~G4EventManager().

◆ trackContainer

G4StackManager* G4EventManager::trackContainer = nullptr
private

◆ trackIDCounter

G4int G4EventManager::trackIDCounter = 0
private

Definition at line 173 of file G4EventManager.hh.

Referenced by DoProcessing(), ProcessOneEvent(), and StackTracks().

◆ tracking

G4bool G4EventManager::tracking = false
private

Definition at line 177 of file G4EventManager.hh.

Referenced by AbortCurrentEvent(), and DoProcessing().

◆ trackManager

G4TrackingManager* G4EventManager::trackManager = nullptr
private

◆ trajectoryContainer

G4TrajectoryContainer* G4EventManager::trajectoryContainer = nullptr
private

Definition at line 172 of file G4EventManager.hh.

Referenced by DoProcessing().

◆ transformer

G4PrimaryTransformer* G4EventManager::transformer = nullptr
private

◆ userEventAction

G4UserEventAction* G4EventManager::userEventAction = nullptr
private

◆ userStackingAction

G4UserStackingAction* G4EventManager::userStackingAction = nullptr
private

Definition at line 183 of file G4EventManager.hh.

Referenced by GetUserStackingAction(), and SetUserAction().

◆ userSteppingAction

G4UserSteppingAction* G4EventManager::userSteppingAction = nullptr
private

Definition at line 185 of file G4EventManager.hh.

Referenced by GetUserSteppingAction(), and SetUserAction().

◆ userTrackingAction

G4UserTrackingAction* G4EventManager::userTrackingAction = nullptr
private

Definition at line 184 of file G4EventManager.hh.

Referenced by GetUserTrackingAction(), and SetUserAction().

◆ verboseLevel

G4int G4EventManager::verboseLevel = 0
private

Definition at line 174 of file G4EventManager.hh.

Referenced by DoProcessing(), GetVerboseLevel(), SetVerboseLevel(), and StackTracks().


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