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 /// \version $Id: $
6 /// \author brebel@fnal.gov
7 ////////////////////////////////////////////////////////////////////////
8 #ifndef ROSIMISCALCULATION_H
9 #define ROSIMISCALCULATION_H
10 
12 
13 namespace gar {
14  namespace rosim{
15 
17 
18  public:
19 
20  ISCalculation();
21  virtual ~ISCalculation();
22 
23  virtual void Initialize() = 0;
24  virtual void Reset() = 0;
26  virtual double EnergyDeposit() const = 0;
27  virtual int NumberIonizationElectrons() const = 0;
28  virtual int NumberScintillationPhotons() const = 0;
29  virtual double StepSizeLimit() const = 0;
30 
31  protected:
32 
33  double fEnergyDeposit; ///< total energy deposited in the step
34  int fNumIonElectrons; ///< number of ionization electrons for this step
35  int fNumScintPhotons; ///< number of scintillation photons for this step
36 
37  };
38  }
39 } // gar
40 
41 #endif // ROSIMISCALCULATION_H
virtual void Initialize()=0
virtual double EnergyDeposit() const =0
int fNumScintPhotons
number of scintillation photons for this step
Definition: ISCalculation.h:35
double fEnergyDeposit
total energy deposited in the step
Definition: ISCalculation.h:33
int fNumIonElectrons
number of ionization electrons for this step
Definition: ISCalculation.h:34
virtual void Reset()=0
virtual int NumberIonizationElectrons() const =0
General GArSoft Utilities.
virtual double StepSizeLimit() const =0
virtual int NumberScintillationPhotons() const =0
virtual void CalculateIonizationAndScintillation(const gar::sdp::EnergyDeposit *dep)=0