LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
ISCalculation.h
Go to the documentation of this file.
1 #ifndef LARG4_ISCALCULATION_H
8 #define LARG4_ISCALCULATION_H
9 
10 class G4Step;
11 
12 namespace larg4 {
13 
14  class ISCalculation {
15  public:
16  virtual ~ISCalculation() = default;
17 
18  virtual void Reset() = 0;
19  virtual void CalculateIonizationAndScintillation(const G4Step* step) = 0;
20  virtual double StepSizeLimit() const = 0;
21 
22  double EnergyDeposit() const { return fEnergyDeposit; }
23  double NumberIonizationElectrons() const { return fNumIonElectrons; }
24  double NumberScintillationPhotons() const { return fNumScintPhotons; }
26 
27  //Method to get electric field
28  double EFieldAtStep(double fEfield, const G4Step* step)
29  const; //value of field with any corrections for this step
30 
31  protected:
32  double fEnergyDeposit;
36  };
37 }
38 #endif // LARG4_ISCALCULATION_H
double EFieldAtStep(double fEfield, const G4Step *step) const
virtual void CalculateIonizationAndScintillation(const G4Step *step)=0
Geant4 interface.
double NumberScintillationPhotons() const
Definition: ISCalculation.h:24
double NumberIonizationElectrons() const
Definition: ISCalculation.h:23
virtual void Reset()=0
double fNumIonElectrons
number of ionization electrons for this step
Definition: ISCalculation.h:33
double VisibleEnergyDeposit() const
Definition: ISCalculation.h:25
double EnergyDeposit() const
Definition: ISCalculation.h:22
virtual ~ISCalculation()=default
virtual double StepSizeLimit() const =0
double fNumScintPhotons
number of scintillation photons for this step
Definition: ISCalculation.h:34
double fVisibleEnergyDeposition
Definition: ISCalculation.h:35
double fEnergyDeposit
total energy deposited in the step
Definition: ISCalculation.h:32