Geant4-11
Public Member Functions | Protected Attributes | Private Attributes
G4AdjointStackingAction Class Reference

#include <G4AdjointStackingAction.hh>

Inheritance diagram for G4AdjointStackingAction:
G4UserStackingAction

Public Member Functions

virtual G4ClassificationOfNewTrack ClassifyNewTrack (const G4Track *aTrack)
 
 G4AdjointStackingAction (G4AdjointTrackingAction *anAction)
 
virtual void NewStage ()
 
virtual void PrepareNewEvent ()
 
void SetAdjointMode (G4bool aBool)
 
void SetKillTracks (G4bool aBool)
 
void SetStackManager (G4StackManager *value)
 
void SetUserAdjointStackingAction (G4UserStackingAction *anAction)
 
void SetUserFwdStackingAction (G4UserStackingAction *anAction)
 
virtual ~G4AdjointStackingAction ()
 

Protected Attributes

G4StackManagerstackManager = nullptr
 

Private Attributes

G4bool adjoint_mode = false
 
G4bool first_reclassification_stage = false
 
G4bool kill_tracks = false
 
G4bool reclassification_stage = false
 
G4AdjointTrackingActiontheAdjointTrackingAction = nullptr
 
G4UserStackingActiontheFwdStackingAction = nullptr
 
G4UserStackingActiontheUserAdjointStackingAction = nullptr
 

Detailed Description

Definition at line 53 of file G4AdjointStackingAction.hh.

Constructor & Destructor Documentation

◆ G4AdjointStackingAction()

G4AdjointStackingAction::G4AdjointStackingAction ( G4AdjointTrackingAction anAction)

Definition at line 40 of file G4AdjointStackingAction.cc.

42{
43 theAdjointTrackingAction = anAction;
44}
G4AdjointTrackingAction * theAdjointTrackingAction

References theAdjointTrackingAction.

◆ ~G4AdjointStackingAction()

G4AdjointStackingAction::~G4AdjointStackingAction ( )
virtual

Definition at line 48 of file G4AdjointStackingAction.cc.

49{;}

Member Function Documentation

◆ ClassifyNewTrack()

G4ClassificationOfNewTrack G4AdjointStackingAction::ClassifyNewTrack ( const G4Track aTrack)
virtual

Reimplemented from G4UserStackingAction.

Definition at line 54 of file G4AdjointStackingAction.cc.

55{
56 G4ClassificationOfNewTrack classification = fUrgent;
57 G4String partType = aTrack->GetParticleDefinition()->GetParticleType();
58 adjoint_mode = G4StrUtil::contains(partType, "adjoint");
59 if (!adjoint_mode )
60 {
62 {
63 classification = fWaiting;
64 }
65 else // need to check if forwrad tracking can be continued use of
66 {
68 {
70 {
71 classification = theFwdStackingAction->ClassifyNewTrack(aTrack);
72 }
73 }
74 else
75 {
76 classification = fKill;
77 }
78 }
79 }
81 {
82 classification = theUserAdjointStackingAction->ClassifyNewTrack(aTrack);
83 }
84 return classification;
85}
G4UserStackingAction * theUserAdjointStackingAction
G4UserStackingAction * theFwdStackingAction
std::size_t GetNbOfAdointTracksReachingTheExternalSurface()
const G4String & GetParticleType() const
const G4ParticleDefinition * GetParticleDefinition() const
virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track *aTrack)
G4bool contains(const G4String &str, std::string_view ss)
Check if a string contains a given substring.

References adjoint_mode, G4UserStackingAction::ClassifyNewTrack(), G4StrUtil::contains(), fKill, fUrgent, fWaiting, G4AdjointTrackingAction::GetNbOfAdointTracksReachingTheExternalSurface(), G4Track::GetParticleDefinition(), G4ParticleDefinition::GetParticleType(), reclassification_stage, theAdjointTrackingAction, theFwdStackingAction, and theUserAdjointStackingAction.

◆ NewStage()

void G4AdjointStackingAction::NewStage ( )
virtual

◆ PrepareNewEvent()

void G4AdjointStackingAction::PrepareNewEvent ( )
virtual

◆ SetAdjointMode()

void G4AdjointStackingAction::SetAdjointMode ( G4bool  aBool)
inline

Definition at line 69 of file G4AdjointStackingAction.hh.

70 { adjoint_mode=aBool; }

References adjoint_mode.

Referenced by G4AdjointSimManager::SetAdjointTrackingMode().

◆ SetKillTracks()

void G4AdjointStackingAction::SetKillTracks ( G4bool  aBool)
inline

Definition at line 67 of file G4AdjointStackingAction.hh.

References kill_tracks.

Referenced by G4AdjointSimManager::SetAdjointTrackingMode().

◆ SetStackManager()

void G4UserStackingAction::SetStackManager ( G4StackManager value)
inlineinherited

Definition at line 51 of file G4UserStackingAction.hh.

51{ stackManager=value; }

References G4UserStackingAction::stackManager.

Referenced by G4StackManager::SetUserStackingAction().

◆ SetUserAdjointStackingAction()

void G4AdjointStackingAction::SetUserAdjointStackingAction ( G4UserStackingAction anAction)
inline

◆ SetUserFwdStackingAction()

void G4AdjointStackingAction::SetUserFwdStackingAction ( G4UserStackingAction anAction)
inline

Field Documentation

◆ adjoint_mode

G4bool G4AdjointStackingAction::adjoint_mode = false
private

Definition at line 78 of file G4AdjointStackingAction.hh.

Referenced by ClassifyNewTrack(), and SetAdjointMode().

◆ first_reclassification_stage

G4bool G4AdjointStackingAction::first_reclassification_stage = false
private

Definition at line 77 of file G4AdjointStackingAction.hh.

Referenced by NewStage(), and PrepareNewEvent().

◆ kill_tracks

G4bool G4AdjointStackingAction::kill_tracks = false
private

Definition at line 78 of file G4AdjointStackingAction.hh.

Referenced by SetKillTracks().

◆ reclassification_stage

G4bool G4AdjointStackingAction::reclassification_stage = false
private

Definition at line 76 of file G4AdjointStackingAction.hh.

Referenced by ClassifyNewTrack(), NewStage(), and PrepareNewEvent().

◆ stackManager

G4StackManager* G4UserStackingAction::stackManager = nullptr
protectedinherited

Definition at line 115 of file G4UserStackingAction.hh.

Referenced by NewStage(), and G4UserStackingAction::SetStackManager().

◆ theAdjointTrackingAction

G4AdjointTrackingAction* G4AdjointStackingAction::theAdjointTrackingAction = nullptr
private

Definition at line 79 of file G4AdjointStackingAction.hh.

Referenced by ClassifyNewTrack(), and G4AdjointStackingAction().

◆ theFwdStackingAction

G4UserStackingAction* G4AdjointStackingAction::theFwdStackingAction = nullptr
private

Definition at line 74 of file G4AdjointStackingAction.hh.

Referenced by ClassifyNewTrack(), NewStage(), and SetUserFwdStackingAction().

◆ theUserAdjointStackingAction

G4UserStackingAction* G4AdjointStackingAction::theUserAdjointStackingAction = nullptr
private

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