5#ifndef G4ATLASALG_ATHENASTACKINGACTION_H
6#define G4ATLASALG_ATHENASTACKINGACTION_H
8#include "G4UserStackingAction.hh"
55 virtual G4ClassificationOfNewTrack
69 bool isGamma(
const G4Track*)
const;
Config m_config
Configuration options.
double m_oneOverWeightNeutron
double m_oneOverWeightPhoton
AthenaStackingAction(const Config &config)
Constructor with configuration.
bool isNeutrino(const G4Track *) const
Identify track as a neutrino.
bool isNeutron(const G4Track *) const
Identify track as a neutron.
virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track *track) override
Classify a new track.
bool isGamma(const G4Track *) const
Identify track as a photon.
PrimaryParticleInformation * getPrimaryParticleInformation(const G4Track *track) const
obtain the PrimaryParticleInformation from the current G4Track
This class is attached to G4PrimaryParticle objects as UserInformation.
Configuration option struct for AthenaStackingAction.
bool applyPRR
Apply the Photon Russian Roulette.
bool killAllNeutrinos
Flag to toggle killing neutrinos at tracking stage.
bool applyNRR
Apply the Neutron Russian Roulette.
double russianRoulettePhotonThreshold
Energy threshold for the Photon Russian Roulette.
double russianRouletteNeutronWeight
Weight for the Neutron Russian Roulette.
double russianRouletteNeutronThreshold
Energy threshold for the Neutron Russian Roulette.
double photonEnergyCut
Photon energy cut.
double russianRoulettePhotonWeight
Weight for the Photon Russian Roulette.
bool isISFJob
Is this an ISF job.