72 inline void *
operator new(std::size_t);
73 inline void operator delete(
void* anEvent);
92 { trajectoryContainer = value; }
94 { eventAborted =
true; }
97 randomNumberStatus =
new G4String(st);
98 validRandomNumberStatus =
true;
102 randomNumberStatusForProcessing =
new G4String(st);
103 validRandomNumberStatusForProcessing =
true;
106 { keepTheEvent = vl; }
117 "Number of grips is negative. This cannot be correct.");
131 if( thePrimaryVertex ==
nullptr )
132 { thePrimaryVertex = aPrimaryVertex; }
134 { thePrimaryVertex->
SetNext( aPrimaryVertex ); }
135 ++numberOfPrimaryVertex;
139 {
return numberOfPrimaryVertex; }
145 {
return thePrimaryVertex; }
146 if( i > 0 && i < numberOfPrimaryVertex )
149 for(
G4int j=0; j<i; ++j )
151 if( primaryVertex ==
nullptr )
return nullptr;
152 primaryVertex = primaryVertex->
GetNext();
154 return primaryVertex;
166 {
return trajectoryContainer; }
177 { userInfo = anInfo; }
184 if(!validRandomNumberStatus)
186 "G4Event::GetRandomNumberStatus",
"Event0701",
JustWarning,
187 "Random number status is not available for this event."); }
188 return *randomNumberStatus;
192 if(!validRandomNumberStatusForProcessing)
194 "G4Event::GetRandomNumberStatusForProcessing",
"Event0702",
196 "Random number status is not available for this event."); }
197 return *randomNumberStatusForProcessing;
207 G4int numberOfPrimaryVertex = 0;
220 G4bool eventAborted =
false;
226 G4String* randomNumberStatus =
nullptr;
227 G4bool validRandomNumberStatus =
false;
230 G4String* randomNumberStatusForProcessing =
nullptr;
231 G4bool validRandomNumberStatusForProcessing =
false;
234 G4bool keepTheEvent =
false;
235 mutable G4int grips = 0;
258 auto tot = (
G4int)fSubEvtVector.size();
259 for(
auto& sem : fSubEvtStackMap)
260 { tot += (
G4int)sem.second->size(); }
267 std::map<G4int,std::set<G4SubEvent*>*> fSubEvtStackMap;
268 std::set<G4SubEvent*> fSubEvtVector;
275 G4Event* motherEvent =
nullptr;
276 G4int subEventType = -1;
285 {
return motherEvent; }
287 {
return subEventType; }
292inline void* G4Event::operator
new(std::size_t)
301inline void G4Event::operator
delete(
void* anEvent)
G4EVENT_DLL G4Allocator< G4Event > *& anEventAllocator()
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
G4int StoreSubEvent(G4int, G4SubEvent *)
G4int GetSubEventType() const
G4int GetNumberOfPrimaryVertex() const
const G4String & GetRandomNumberStatus() const
G4int GetNumberOfGrips() const
void PostProcessingFinished() const
G4TrajectoryContainer * GetTrajectoryContainer() const
void SetRandomNumberStatus(G4String &st)
void KeepTheEvent(G4bool vl=true)
G4HCofThisEvent * GetHCofThisEvent() const
void MergeSubEventResults(const G4Event *se)
void SetRandomNumberStatusForProcessing(G4String &st)
void SetDCofThisEvent(G4DCofThisEvent *value)
G4PrimaryVertex * GetPrimaryVertex(G4int i=0) const
void FlagAsSubEvent(G4Event *me, G4int ty)
G4Event(const G4Event &)=delete
const G4String & GetRandomNumberStatusForProcessing() const
G4bool operator!=(const G4Event &right) const
G4DCofThisEvent * GetDCofThisEvent() const
void SetHCofThisEvent(G4HCofThisEvent *value)
void SetUserInformation(G4VUserEventInformation *anInfo)
G4SubEvent * PopSubEvent(G4int)
void AddPrimaryVertex(G4PrimaryVertex *aPrimaryVertex)
G4Event * GetMotherEvent() const
G4bool operator==(const G4Event &right) const
void KeepForPostProcessing() const
G4VUserEventInformation * GetUserInformation() const
G4Event & operator=(const G4Event &)=delete
G4int TerminateSubEvent(G4SubEvent *)
G4int SpawnSubEvent(G4SubEvent *)
void SetTrajectoryContainer(G4TrajectoryContainer *value)
G4int GetNumberOfRemainingSubEvents() const
void SetNext(G4PrimaryVertex *nv)
G4PrimaryVertex * GetNext() const