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 G4EventGetConstCurrentEvent ()
 
G4EventGetNonconstCurrentEvent ()
 
G4PrimaryTransformerGetPrimaryTransformer () const
 
G4StackManagerGetStackManager () const
 
G4TrackingManagerGetTrackingManager () const
 
G4UserEventActionGetUserEventAction ()
 
G4VUserEventInformationGetUserInformation ()
 
G4UserStackingActionGetUserStackingAction ()
 
G4UserSteppingActionGetUserSteppingAction ()
 
G4UserTrackingActionGetUserTrackingAction ()
 
G4int GetVerboseLevel ()
 
void KeepTheCurrentEvent ()
 
G4EventManageroperator= (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 G4EventManagerGetEventManager ()
 

Private Member Functions

void DoProcessing (G4Event *anEvent)
 

Private Attributes

G4bool abortRequested = false
 
G4EventcurrentEvent = nullptr
 
std::unique_ptr< ProfilerConfigeventProfiler
 
G4String randomNumberStatusToG4Event
 
G4SDManagersdManager = nullptr
 
G4StateManagerstateManager = nullptr
 
G4int storetRandomNumberStatusToG4Event = 0
 
G4EvManMessengertheMessenger = nullptr
 
G4StackManagertrackContainer = nullptr
 
G4int trackIDCounter = 0
 
G4bool tracking = false
 
G4TrackingManagertrackManager = nullptr
 
G4TrajectoryContainertrajectoryContainer = nullptr
 
G4PrimaryTransformertransformer = nullptr
 
G4UserEventActionuserEventAction = nullptr
 
G4UserStackingActionuserStackingAction = nullptr
 
G4UserSteppingActionuserSteppingAction = nullptr
 
G4UserTrackingActionuserTrackingAction = nullptr
 
G4int verboseLevel = 0
 

Static Private Attributes

static G4ThreadLocal G4EventManagerfpEventManager = 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: