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