ATLAS Offline Software
AthenaStackingAction.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef G4ATLASALG_ATHENASTACKINGACTION_H
6 #define G4ATLASALG_ATHENASTACKINGACTION_H
7 
8 #include "G4UserStackingAction.hh"
9 
11 
12 namespace G4UA
13 {
14 
22  class AthenaStackingAction : public G4UserStackingAction
23  {
24 
25  public:
26 
28  struct Config
29  {
35  bool applyNRR;
41  bool applyPRR;
47  bool isISFJob;
48  };
49 
52 
55  virtual G4ClassificationOfNewTrack
56  ClassifyNewTrack(const G4Track* track) override;
57 
58  protected:
59 
62 
66  bool isNeutrino(const G4Track*) const;
67 
69  bool isGamma(const G4Track*) const;
70 
72  bool isNeutron(const G4Track*) const;
73 
76 
77  // one over m_config.russianRouletteNeutronWeight
79 
80  // one over m_config.russianRoulettePhotonWeight
82 
83  }; // class AthenaStackingAction
84 
85 } // namespace G4UA
86 
87 #endif
G4UA::AthenaStackingAction::m_config
Config m_config
Configuration options.
Definition: AthenaStackingAction.h:61
G4UA::AthenaStackingAction::AthenaStackingAction
AthenaStackingAction(const Config &config)
Constructor with configuration.
Definition: AthenaStackingAction.cxx:41
G4UA::AthenaStackingAction::Config::isISFJob
bool isISFJob
Is this an ISF job.
Definition: AthenaStackingAction.h:47
G4UA::AthenaStackingAction::Config::photonEnergyCut
double photonEnergyCut
Photon energy cut.
Definition: AthenaStackingAction.h:33
G4UA
for nSW
Definition: CalibrationDefaultProcessing.h:19
G4UA::AthenaStackingAction::Config::russianRouletteNeutronThreshold
double russianRouletteNeutronThreshold
Energy threshold for the Neutron Russian Roulette.
Definition: AthenaStackingAction.h:37
G4UA::AthenaStackingAction::m_oneOverWeightNeutron
double m_oneOverWeightNeutron
Definition: AthenaStackingAction.h:78
G4UA::AthenaStackingAction::Config::russianRoulettePhotonThreshold
double russianRoulettePhotonThreshold
Energy threshold for the Photon Russian Roulette.
Definition: AthenaStackingAction.h:43
G4UA::AthenaStackingAction::isNeutron
bool isNeutron(const G4Track *) const
Identify track as a neutron.
Definition: AthenaStackingAction.cxx:191
G4UA::AthenaStackingAction::Config::killAllNeutrinos
bool killAllNeutrinos
Flag to toggle killing neutrinos at tracking stage.
Definition: AthenaStackingAction.h:31
G4UA::AthenaStackingAction::ClassifyNewTrack
virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track *track) override
Classify a new track.
Definition: AthenaStackingAction.cxx:59
config
Definition: PhysicsAnalysis/AnalysisCommon/AssociationUtils/python/config.py:1
G4UA::AthenaStackingAction::Config
Configuration option struct for AthenaStackingAction.
Definition: AthenaStackingAction.h:29
G4UA::AthenaStackingAction::Config::applyPRR
bool applyPRR
Apply the Photon Russian Roulette.
Definition: AthenaStackingAction.h:41
G4UA::AthenaStackingAction::isGamma
bool isGamma(const G4Track *) const
Identify track as a photon.
Definition: AthenaStackingAction.cxx:185
G4UA::AthenaStackingAction::Config::russianRoulettePhotonWeight
double russianRoulettePhotonWeight
Weight for the Photon Russian Roulette.
Definition: AthenaStackingAction.h:45
G4UA::AthenaStackingAction
Standard ATLAS stacking action functionality. Mostly taken from the old AthenaStackingAction implemen...
Definition: AthenaStackingAction.h:23
G4UA::AthenaStackingAction::getPrimaryParticleInformation
PrimaryParticleInformation * getPrimaryParticleInformation(const G4Track *track) const
obtain the PrimaryParticleInformation from the current G4Track
Definition: AthenaStackingAction.cxx:155
PrimaryParticleInformation
This class is attached to G4PrimaryParticle objects as UserInformation. The member variable m_thePart...
Definition: PrimaryParticleInformation.h:39
G4UA::AthenaStackingAction::m_oneOverWeightPhoton
double m_oneOverWeightPhoton
Definition: AthenaStackingAction.h:81
G4UA::AthenaStackingAction::Config::russianRouletteNeutronWeight
double russianRouletteNeutronWeight
Weight for the Neutron Russian Roulette.
Definition: AthenaStackingAction.h:39
G4UA::AthenaStackingAction::isNeutrino
bool isNeutrino(const G4Track *) const
Identify track as a neutrino.
Definition: AthenaStackingAction.cxx:173
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
G4UA::AthenaStackingAction::Config::applyNRR
bool applyNRR
Apply the Neutron Russian Roulette.
Definition: AthenaStackingAction.h:35