50 :currentEvent(nullptr),trajectoryContainer(nullptr),
51 verboseLevel(0),tracking(false),abortRequested(false),
52 storetRandomNumberStatusToG4Event(false)
57 "G4EventManager::G4EventManager() has already been made.");
106 "IllegalApplicationState -- Geometry is not closed : cannot process an event.");
113 std::ostringstream oss;
114 CLHEP::HepRandom::saveFullState(oss);
132 G4cout <<
"=====================================" <<
G4endl;
133 G4cout <<
" G4EventManager::ProcessOneEvent() " <<
G4endl;
134 G4cout <<
"=====================================" <<
G4endl;
140 #ifdef G4_STORE_TRAJECTORY
154 <<
" vertices passed from G4Event." <<
G4endl;
165 <<
"are passed from G4EventTransformer." <<
G4endl;
166 G4cout <<
"!!!!!!! Now start processing an event !!!!!!!" <<
G4endl;
179 <<
") is passed to G4TrackingManager." <<
G4endl;
193 <<
") is processed with stopping code " << istop <<
G4endl;
198 #ifdef G4_STORE_TRAJECTORY
201 if(previousTrajectory)
205 aTrajectory = previousTrajectory;
236 G4cout <<
"Illeagal TrackStatus returned from G4TrackingManager!"
242 for(
size_t i=0;i<secondaries->size();i++)
243 {
delete (*secondaries)[i]; }
244 secondaries->clear();
254 G4cout <<
"NULL returned from G4StackManager." <<
G4endl;
255 G4cout <<
"Terminate current event processing." <<
G4endl;
278 if( trackVector->size() == 0 )
return;
279 for(
auto newTrack : *trackVector )
285 if(newTrack->GetDynamicParticle()->GetPrimaryParticle())
292 newTrack->SetOriginTouchableHandle(newTrack->GetTouchableHandle());
297 G4cout <<
"A new track " << newTrack
298 <<
" (trackID " << newTrack->GetTrackID()
299 <<
", parentID " << newTrack->GetParentID()
300 <<
") is passed to G4StackManager." <<
G4endl;
304 trackVector->clear();
341 if (!randStat) randStat =
new G4String;
351 std::ostringstream oss;
352 CLHEP::HepRandom::saveFullState(oss);
368 "G4VUserEventInformation cannot be set because of ansense of G4Event.");
G4int GetParentID() const
G4VTrajectory * GimmeTrajectory() const
G4UserEventAction * userEventAction
G4VUserEventInformation * GetUserInformation() const
void ProcessOneTrack(G4Track *apValueG4Track)
CLHEP::Hep3Vector G4ThreeVector
virtual void EndOfEventAction(const G4Event *anEvent)
G4int GetNumberOfPrimaryVertex() const
G4UserTrackingAction * userTrackingAction
G4TrackingManager * trackManager
G4int GetNTotalTrack() const
G4TrackStatus GetTrackStatus() const
G4Navigator * GetNavigatorForTracking() const
void SetRandomNumberStatusForProcessing(G4String &st)
void SetHCofThisEvent(G4HCofThisEvent *value)
virtual void BeginOfEventAction(const G4Event *anEvent)
G4Track * PopNextTrack(G4VTrajectory **newTrajectory)
G4int storetRandomNumberStatusToG4Event
G4StackManager * trackContainer
void TerminateCurrentEvent(G4HCofThisEvent *HCE)
virtual void SetEventManager(G4EventManager *value)
virtual void MergeTrajectory(G4VTrajectory *secondTrajectory)=0
static G4StateManager * GetStateManager()
void SetUserInformation(G4VUserEventInformation *anInfo)
void SetUserStackingAction(G4UserStackingAction *value)
G4GLOB_DLL std::ostream G4cout
G4bool SetNewState(G4ApplicationState requestedState)
G4TrackVector * GimmeSecondaries() const
G4EvManMessenger * theMessenger
void SetUserInformation(G4VUserEventInformation *anInfo)
G4TrajectoryContainer * trajectoryContainer
void SetTrackID(G4int id)
G4String randomNumberStatusToG4Event
G4int PushOneTrack(G4Track *newTrack, G4VTrajectory *newTrajectory=0)
G4ApplicationState GetCurrentState() const
static G4ThreadLocal G4EventManager * fpEventManager
void SetUserAction(G4UserTrackingAction *apAction)
G4bool insert(G4VTrajectory *p)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
void SetRandomNumberStatus(G4String &st)
G4PrimaryTransformer * transformer
static G4TransportationManager * GetTransportationManager()
G4HCofThisEvent * PrepareNewEvent()
G4UserStackingAction * userStackingAction
void StackTracks(G4TrackVector *trackVector, G4bool IDhasAlreadySet=false)
std::vector< G4Track * > G4TrackVector
G4StateManager * stateManager
void SetUserAction(G4UserEventAction *userAction)
G4UserSteppingAction * userSteppingAction
static G4EventManager * GetEventManager()
virtual G4VPhysicalVolume * LocateGlobalPointAndSetup(const G4ThreeVector &point, const G4ThreeVector *direction=0, const G4bool pRelativeSearch=true, const G4bool ignoreDirection=true)
void ProcessOneEvent(G4Event *anEvent)
G4HCofThisEvent * GetHCofThisEvent() const
void SetTrajectoryContainer(G4TrajectoryContainer *value)
void KeepTheEvent(G4bool vl=true)
void DoProcessing(G4Event *anEvent)
void KeepTheCurrentEvent()
static G4SDManager * GetSDMpointerIfExist()
G4VUserEventInformation * GetUserInformation()