Import Geant4 10.7.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2020-06-26 10:23:25 +02:00
parent c02c370437
commit 67ba86d073
1871 changed files with 174422 additions and 131884 deletions
+33 -40
View File
@@ -23,37 +23,25 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// G4AdjointStackingAction
//
/////////////////////////////////////////////////////////////////////////////////
// Class Name: G4AdjointStackingAction
// Author: L. Desorgher
// Organisation: SpaceIT GmbH
// Contract: ESA contract 21435/08/NL/AT
// Customer: ESA/ESTEC
/////////////////////////////////////////////////////////////////////////////////
// Class description:
//
// CHANGE HISTORY
// --------------
// ChangeHistory:
// -April 2008 First implementation by L. Desorgher
// -4-11-2009 Adding the possibility to use user adjoint stacking action, L. Desorgher
//
//
//-------------------------------------------------------------
// Documentation:
// Stacking action used in the adjoint simulation. It is responsible to kill a primary forward particle before it is traked in the forwrad phase
// if the last adjoint particle did not reach the adjoint surface. Was needed for the new design where the G4AdjointSimManager is no more an extension
// of the G4RunManager. If the primary particles is not killed before being tracked in the sensitive geometry, the User Stacking action
// can be used duiring the forward phase if specified by the method G4AdjointSimManager::UseUserStackingAction(Bool).
//
//
//
//
//
//
//
#ifndef G4AdjointStackingAction_h
#define G4AdjointStackingAction_h 1
// Stacking action used in the adjoint simulation. It is responsible to kill
// a primary forward particle before it is traked in the forward phase,
// if the last adjoint particle did not reach the adjoint surface.
// Was needed for the new design where the G4AdjointSimManager is no more an
// extension of G4RunManager. If the primary particles are not killed before
// being tracked in the sensitive geometry, the User Stacking action can be
// used during the forward phase if specified by the method
// G4AdjointSimManager::UseUserStackingAction(G4bool).
// Author: L. Desorgher, SpaceIT GmbH - April 2008
// Contract: ESA contract 21435/08/NL/AT
// Customer: ESA/ESTEC
// --------------------------------------------------------------------
#ifndef G4AdjointStackingAction_hh
#define G4AdjointStackingAction_hh 1
#include "globals.hh"
#include "G4UserStackingAction.hh"
@@ -65,25 +53,30 @@ class G4AdjointTrackingAction;
class G4AdjointStackingAction : public G4UserStackingAction
{
public:
G4AdjointStackingAction(G4AdjointTrackingAction* anAction);
virtual ~G4AdjointStackingAction();
public:
virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track* aTrack);
virtual void NewStage();
virtual void PrepareNewEvent();
inline void SetUserFwdStackingAction(G4UserStackingAction* anAction){theFwdStackingAction = anAction;}
inline void SetUserAdjointStackingAction(G4UserStackingAction* anAction){theUserAdjointStackingAction = anAction;}
inline void SetKillTracks(G4bool aBool){kill_tracks =aBool;}
inline void SetAdjointMode(G4bool aBool){adjoint_mode=aBool;}
inline void SetUserFwdStackingAction(G4UserStackingAction* anAction)
{ theFwdStackingAction = anAction; }
inline void SetUserAdjointStackingAction(G4UserStackingAction* anAction)
{ theUserAdjointStackingAction = anAction; }
inline void SetKillTracks(G4bool aBool)
{ kill_tracks =aBool; }
inline void SetAdjointMode(G4bool aBool)
{ adjoint_mode=aBool; }
private:
G4UserStackingAction* theFwdStackingAction;
G4UserStackingAction* theUserAdjointStackingAction;
G4bool reclassification_stage,first_reclassification_stage,kill_tracks,adjoint_mode;
G4AdjointTrackingAction* theAdjointTrackingAction;
G4UserStackingAction* theFwdStackingAction = nullptr;
G4UserStackingAction* theUserAdjointStackingAction = nullptr;
G4bool reclassification_stage = false,
first_reclassification_stage = false,
kill_tracks = false, adjoint_mode = false;
G4AdjointTrackingAction* theAdjointTrackingAction = nullptr;
};
#endif