8 #ifndef LARG4_IONIZATIONANDSCINTILLATION_H
9 #define LARG4_IONIZATIONANDSCINTILLATION_H
21 class HepRandomEngine;
25 class DetectorPropertiesData;
35 CLHEP::HepRandomEngine& engine);
40 void Reset(
const G4Step* step);
45 return fISCalc->EnergyDeposit();
50 return fISCalc->VisibleEnergyDeposit();
55 return fISCalc->NumberIonizationElectrons();
60 return fISCalc->NumberScintillationPhotons();
65 return fISCalc->StepSizeLimit();
70 CLHEP::HepRandomEngine& engine);
72 std::unique_ptr<larg4::ISCalculation>
94 #endif // LARG4_IONIZATIONANDSCINTILLATION
double NumberIonizationElectrons() const
TH1F * fPhotonsPerEDep
histogram of photons per MeV deposited
double VisibleEnergyDeposit() const
TH1F * fElectronsPerEDep
histogram of electrons per MeV deposited
int fStepNumber
last StepNumber checked
void Reset(const G4Step *step)
G4Step const * fStep
pointer to the current G4 step
TH1F * fElectronsPerLength
histogram of electrons per cm
std::unique_ptr< larg4::ISCalculation > fISCalc
CLHEP::HepRandomEngine & fEngine
random engine (needed for NEST)
static IonizationAndScintillation * Instance()
TH1F * fStepSize
histogram of the step sizes
Interface to algorithm class for a specific detector channel mapping.
TH1F * fElectronsPerStep
histogram of electrons per step
TH1F * fPhotonsPerStep
histogram of the photons per step
double EnergyDeposit() const
static IonizationAndScintillation * CreateInstance(detinfo::DetectorPropertiesData const &detProp, CLHEP::HepRandomEngine &engine)
TH1F * fEnergyPerStep
histogram of the energy deposited per step
TH1F * fPhotonsPerLength
histogram of photons per cm
double NumberScintillationPhotons() const
double StepSizeLimit() const
TH2F * fElectronsVsPhotons
histogram of electrons vs photons per step
std::string fISCalculator
name of calculator to use, NEST or Separate
int fTrkID
last TrkID checked
IonizationAndScintillation(detinfo::DetectorPropertiesData const &detProp, CLHEP::HepRandomEngine &engine)