All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ISCalculation.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 /// \file ISCalculation.h
3 /// \brief Interface to algorithm class for a specific detector channel mapping
4 ///
5 /// \author brebel@fnal.gov
6 ////////////////////////////////////////////////////////////////////////
7 #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
23  EnergyDeposit() const
24  {
25  return fEnergyDeposit;
26  }
27  double
29  {
30  return fNumIonElectrons;
31  }
32  double
34  {
35  return fNumScintPhotons;
36  }
37  double
39  {
41  }
42 
43  //Method to get electric field
44  double EFieldAtStep(double fEfield, const G4Step* step)
45  const; //value of field with any corrections for this step
46 
47  protected:
48  double fEnergyDeposit; ///< total energy deposited in the step
49  double fNumIonElectrons; ///< number of ionization electrons for this step
50  double fNumScintPhotons; ///< number of scintillation photons for this step
51  double fVisibleEnergyDeposition; ///Scalling factor for energy to photons
52  };
53 }
54 #endif // LARG4_ISCALCULATION_H
virtual double StepSizeLimit() const =0
double EFieldAtStep(double fEfield, const G4Step *step) const
virtual void CalculateIonizationAndScintillation(const G4Step *step)=0
double NumberScintillationPhotons() const
Definition: ISCalculation.h:33
double NumberIonizationElectrons() const
Definition: ISCalculation.h:28
virtual void Reset()=0
double fNumIonElectrons
number of ionization electrons for this step
Definition: ISCalculation.h:49
double VisibleEnergyDeposit() const
Definition: ISCalculation.h:38
double EnergyDeposit() const
Definition: ISCalculation.h:23
virtual ~ISCalculation()=default
double fNumScintPhotons
number of scintillation photons for this step
Definition: ISCalculation.h:50
double fVisibleEnergyDeposition
Definition: ISCalculation.h:51
double fEnergyDeposit
total energy deposited in the step
Definition: ISCalculation.h:48