G4AdjointStackingAction Class Reference

#include <G4AdjointStackingAction.hh>

Inheritance diagram for G4AdjointStackingAction:

G4UserStackingAction

Public Member Functions

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

Detailed Description

Definition at line 65 of file G4AdjointStackingAction.hh.


Constructor & Destructor Documentation

G4AdjointStackingAction::G4AdjointStackingAction (  ) 

Definition at line 41 of file G4AdjointStackingAction.cc.

00042   : kill_tracks(true), adjoint_mode(true)
00043 {
00044   theFwdStackingAction =0;
00045   theUserAdjointStackingAction =0;
00046 }

G4AdjointStackingAction::~G4AdjointStackingAction (  )  [virtual]

Definition at line 49 of file G4AdjointStackingAction.cc.

00050 {;}


Member Function Documentation

G4ClassificationOfNewTrack G4AdjointStackingAction::ClassifyNewTrack ( const G4Track aTrack  )  [virtual]

Reimplemented from G4UserStackingAction.

Definition at line 53 of file G4AdjointStackingAction.cc.

References G4UserStackingAction::ClassifyNewTrack(), fKill, and fUrgent.

00054 {  
00055    G4ClassificationOfNewTrack classification = fUrgent;
00056    if ( kill_tracks) classification=fKill;
00057    else if (!adjoint_mode && theFwdStackingAction)   classification =  theFwdStackingAction->ClassifyNewTrack(aTrack); 
00058    else if (adjoint_mode && theUserAdjointStackingAction)   classification =  theUserAdjointStackingAction->ClassifyNewTrack(aTrack);
00059    return classification;
00060 }

void G4AdjointStackingAction::NewStage (  )  [virtual]

Reimplemented from G4UserStackingAction.

Definition at line 63 of file G4AdjointStackingAction.cc.

References G4UserStackingAction::NewStage().

00064 {
00065   if ( !adjoint_mode && theFwdStackingAction)  theFwdStackingAction->NewStage(); 
00066   else if (adjoint_mode && theUserAdjointStackingAction)   theUserAdjointStackingAction->NewStage();
00067 }

void G4AdjointStackingAction::PrepareNewEvent (  )  [virtual]

Reimplemented from G4UserStackingAction.

Definition at line 70 of file G4AdjointStackingAction.cc.

References G4UserStackingAction::PrepareNewEvent().

00071 {
00072   if ( !adjoint_mode && theFwdStackingAction)  theFwdStackingAction->PrepareNewEvent();
00073   else if (adjoint_mode && theUserAdjointStackingAction)   theUserAdjointStackingAction->PrepareNewEvent();
00074 }

void G4AdjointStackingAction::SetAdjointMode ( G4bool  aBool  )  [inline]

Definition at line 79 of file G4AdjointStackingAction.hh.

Referenced by G4AdjointSimManager::SetAdjointTrackingMode().

00079 {adjoint_mode=aBool;}

void G4AdjointStackingAction::SetKillTracks ( G4bool  aBool  )  [inline]

Definition at line 78 of file G4AdjointStackingAction.hh.

Referenced by G4AdjointSimManager::SetAdjointTrackingMode().

00078 {kill_tracks =aBool;}

void G4AdjointStackingAction::SetUserAdjointStackingAction ( G4UserStackingAction anAction  )  [inline]

Definition at line 76 of file G4AdjointStackingAction.hh.

Referenced by G4AdjointSimManager::SetAdjointStackingAction().

00076 {theUserAdjointStackingAction = anAction;}

void G4AdjointStackingAction::SetUserFwdStackingAction ( G4UserStackingAction anAction  )  [inline]

Definition at line 75 of file G4AdjointStackingAction.hh.

00075 {theFwdStackingAction = anAction;}


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:51:25 2013 for Geant4 by  doxygen 1.4.7