Geant4  10.03.p03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4EventManager Class Reference

#include <G4EventManager.hh>

Public Member Functions

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

Static Public Member Functions

static G4EventManager * GetEventManager ()
 

Detailed Description

Definition at line 60 of file G4EventManager.hh.

Constructor & Destructor Documentation

G4EventManager::G4EventManager ( )

Definition at line 49 of file G4EventManager.cc.

50 :currentEvent(nullptr),trajectoryContainer(nullptr),
51  trackIDCounter(0),
52  verboseLevel(0),tracking(false),abortRequested(false),
53  storetRandomNumberStatusToG4Event(false)
54 {
55  if(fpEventManager)
56  {
57  G4Exception("G4EventManager::G4EventManager","Event0001",FatalException,
58  "G4EventManager::G4EventManager() has already been made.");
59  }
60  else
61  {
62  trackManager = new G4TrackingManager;
63  transformer = new G4PrimaryTransformer;
64  trackContainer = new G4StackManager;
65  theMessenger = new G4EvManMessenger(this);
67  stateManager = G4StateManager::GetStateManager();
68  fpEventManager = this;
69  userEventAction = nullptr;
70  userStackingAction = nullptr;
71  userTrackingAction = nullptr;
72  userSteppingAction = nullptr;
73  }
74 }
static G4StateManager * GetStateManager()
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
static G4SDManager * GetSDMpointerIfExist()
Definition: G4SDManager.cc:49

Here is the call graph for this function:

G4EventManager::~G4EventManager ( )

Definition at line 82 of file G4EventManager.cc.

83 {
84  delete trackContainer;
85  delete transformer;
86  delete trackManager;
87  delete theMessenger;
88  delete userEventAction;
89  fpEventManager = 0;
90 }

Member Function Documentation

void G4EventManager::AbortCurrentEvent ( )

Definition at line 390 of file G4EventManager.cc.

391 {
392  abortRequested = true;
393  trackContainer->clear();
394  if(tracking) trackManager->EventAborted();
395 }

Here is the call graph for this function:

Here is the caller graph for this function:

const G4Event* G4EventManager::GetConstCurrentEvent ( )
inline

Definition at line 125 of file G4EventManager.hh.

126  { return currentEvent; }

Here is the caller graph for this function:

G4EventManager * G4EventManager::GetEventManager ( )
static

Definition at line 46 of file G4EventManager.cc.

47 { return fpEventManager; }

Here is the caller graph for this function:

G4Event* G4EventManager::GetNonconstCurrentEvent ( )
inline

Definition at line 127 of file G4EventManager.hh.

128  { return currentEvent; }

Here is the caller graph for this function:

G4PrimaryTransformer* G4EventManager::GetPrimaryTransformer ( ) const
inline

Definition at line 184 of file G4EventManager.hh.

185  { return transformer; }

Here is the caller graph for this function:

G4StackManager* G4EventManager::GetStackManager ( ) const
inline

Definition at line 162 of file G4EventManager.hh.

163  { return trackContainer; }

Here is the caller graph for this function:

G4TrackingManager* G4EventManager::GetTrackingManager ( ) const
inline

Definition at line 164 of file G4EventManager.hh.

165  { return trackManager; }

Here is the caller graph for this function:

G4UserEventAction* G4EventManager::GetUserEventAction ( )
inline

Definition at line 145 of file G4EventManager.hh.

146  { return userEventAction; }

Here is the caller graph for this function:

G4VUserEventInformation * G4EventManager::GetUserInformation ( )

Definition at line 378 of file G4EventManager.cc.

379 {
380  G4ApplicationState currentState = stateManager->GetCurrentState();
381  if(currentState!=G4State_EventProc || currentEvent==0)
382  { return 0; }
383 
384  return currentEvent->GetUserInformation();
385 }
G4VUserEventInformation * GetUserInformation() const
Definition: G4Event.hh:199
G4ApplicationState GetCurrentState() const
G4ApplicationState

Here is the call graph for this function:

Here is the caller graph for this function:

G4UserStackingAction* G4EventManager::GetUserStackingAction ( )
inline

Definition at line 147 of file G4EventManager.hh.

148  { return userStackingAction; }

Here is the caller graph for this function:

G4UserSteppingAction* G4EventManager::GetUserSteppingAction ( )
inline

Definition at line 151 of file G4EventManager.hh.

152  { return userSteppingAction; }

Here is the caller graph for this function:

G4UserTrackingAction* G4EventManager::GetUserTrackingAction ( )
inline

Definition at line 149 of file G4EventManager.hh.

150  { return userTrackingAction; }

Here is the caller graph for this function:

G4int G4EventManager::GetVerboseLevel ( )
inline

Definition at line 168 of file G4EventManager.hh.

169  { return verboseLevel; }

Here is the caller graph for this function:

void G4EventManager::KeepTheCurrentEvent ( )

Definition at line 387 of file G4EventManager.cc.

388 { if(currentEvent) currentEvent->KeepTheEvent(); }
void KeepTheEvent(G4bool vl=true)
Definition: G4Event.hh:135

Here is the call graph for this function:

Here is the caller graph for this function:

void G4EventManager::ProcessOneEvent ( G4Event *  anEvent)

Definition at line 335 of file G4EventManager.cc.

336 {
337  trackIDCounter = 0;
338  DoProcessing(anEvent);
339 }

Here is the caller graph for this function:

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

Definition at line 341 of file G4EventManager.cc.

342 {
343  static G4ThreadLocal G4String *randStat = 0;
344  if (!randStat) randStat = new G4String;
345  trackIDCounter = 0;
346  G4bool tempEvent = false;
347  if(!anEvent)
348  {
349  anEvent = new G4Event();
350  tempEvent = true;
351  }
352  if(storetRandomNumberStatusToG4Event==1 || storetRandomNumberStatusToG4Event==3)
353  {
354  std::ostringstream oss;
356  anEvent->SetRandomNumberStatus(*randStat=oss.str());
357  }
358  StackTracks(trackVector,false);
359  DoProcessing(anEvent);
360  if(tempEvent)
361  { delete anEvent; }
362 }
#define G4ThreadLocal
Definition: tls.hh:89
bool G4bool
Definition: G4Types.hh:79
void SetRandomNumberStatus(G4String &st)
Definition: G4Event.hh:125
static std::ostream & saveFullState(std::ostream &os)
Definition: Random.cc:285

Here is the call graph for this function:

void G4EventManager::SetNumberOfAdditionalWaitingStacks ( G4int  iAdd)
inline

Definition at line 156 of file G4EventManager.hh.

157  { trackContainer->SetNumberOfAdditionalWaitingStacks(iAdd); }
void SetNumberOfAdditionalWaitingStacks(G4int iAdd)

Here is the call graph for this function:

Here is the caller graph for this function:

void G4EventManager::SetPrimaryTransformer ( G4PrimaryTransformer *  tf)
inline

Definition at line 186 of file G4EventManager.hh.

187  { transformer = tf; }

Here is the caller graph for this function:

void G4EventManager::SetUserAction ( G4UserEventAction *  userAction)

Definition at line 311 of file G4EventManager.cc.

312 {
313  userEventAction = userAction;
314  if(userEventAction) userEventAction->SetEventManager(this);
315 }
virtual void SetEventManager(G4EventManager *value)

Here is the call graph for this function:

Here is the caller graph for this function:

void G4EventManager::SetUserAction ( G4UserStackingAction *  userAction)

Definition at line 317 of file G4EventManager.cc.

318 {
319  userStackingAction = userAction;
320  trackContainer->SetUserStackingAction(userAction);
321 }
void SetUserStackingAction(G4UserStackingAction *value)

Here is the call graph for this function:

void G4EventManager::SetUserAction ( G4UserTrackingAction *  userAction)

Definition at line 323 of file G4EventManager.cc.

324 {
325  userTrackingAction = userAction;
326  trackManager->SetUserAction(userAction);
327 }
void SetUserAction(G4UserTrackingAction *apAction)

Here is the call graph for this function:

void G4EventManager::SetUserAction ( G4UserSteppingAction *  userAction)

Definition at line 329 of file G4EventManager.cc.

330 {
331  userSteppingAction = userAction;
332  trackManager->SetUserAction(userAction);
333 }
void SetUserAction(G4UserTrackingAction *apAction)

Here is the call graph for this function:

void G4EventManager::SetUserInformation ( G4VUserEventInformation *  anInfo)

Definition at line 364 of file G4EventManager.cc.

365 {
366  G4ApplicationState currentState = stateManager->GetCurrentState();
367  if(currentState!=G4State_EventProc || currentEvent==0)
368  {
369  G4Exception("G4EventManager::SetUserInformation",
370  "Event0003", JustWarning,
371  "G4VUserEventInformation cannot be set because of ansense of G4Event.");
372  return;
373  }
374 
375  currentEvent->SetUserInformation(anInfo);
376 }
void SetUserInformation(G4VUserEventInformation *anInfo)
Definition: G4Event.hh:198
G4ApplicationState GetCurrentState() const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
G4ApplicationState

Here is the call graph for this function:

Here is the caller graph for this function:

void G4EventManager::SetVerboseLevel ( G4int  value)
inline

Definition at line 170 of file G4EventManager.hh.

171  {
172  verboseLevel = value;
173  trackContainer->SetVerboseLevel( value );
174  transformer->SetVerboseLevel( value );
175  }
const XML_Char int const XML_Char * value
Definition: expat.h:331
void SetVerboseLevel(G4int const value)
void SetVerboseLevel(G4int vl)

Here is the call graph for this function:

Here is the caller graph for this function:

void G4EventManager::StoreRandomNumberStatusToG4Event ( G4int  vl)
inline

Definition at line 188 of file G4EventManager.hh.

189  { storetRandomNumberStatusToG4Event = vl; }

Here is the caller graph for this function:


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