43 theAdjointTrackingAction = anAction;
56 if (!reclassification_stage)
64 if (theFwdStackingAction !=
nullptr)
71 classification =
fKill;
75 else if (theUserAdjointStackingAction !=
nullptr)
79 return classification;
86 reclassification_stage =
true;
87 if (first_reclassification_stage)
89 if (theUserAdjointStackingAction !=
nullptr)
91 theUserAdjointStackingAction->
NewStage();
95 else if (theFwdStackingAction !=
nullptr) theFwdStackingAction->
NewStage();
97 first_reclassification_stage =
false;
105 reclassification_stage =
false;
106 first_reclassification_stage =
true;
107 if (theUserAdjointStackingAction !=
nullptr)
G4ClassificationOfNewTrack
G4AdjointStackingAction(G4AdjointTrackingAction *anAction)
G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track *aTrack) override
void PrepareNewEvent() override
std::size_t GetNbOfAdointTracksReachingTheExternalSurface()
const G4String & GetParticleType() const
const G4ParticleDefinition * GetParticleDefinition() const
virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track *aTrack)
virtual void PrepareNewEvent()
G4StackManager * stackManager
G4bool contains(const G4String &str, std::string_view ss)
Check if a string contains a given substring.