All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ISCalc.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 // Class: ISCalc
3 // Plugin Type: Algorithm
4 // File: ISCalc.h and ISCalc.cxx
5 // Description: Interface to the ion and scintillation calculation algorithm
6 // Input: 'sim::SimEnergyDeposit'
7 // Output: number of photons and electrons
8 // Spet.16 by Mu Wei
9 ////////////////////////////////////////////////////////////////////////
10 
11 #ifndef LARG4_ISCALC_H
12 #define LARG4_ISCALC_H
13 
14 namespace detinfo {
15  class DetectorPropertiesData;
16  class LArProperties;
17 }
18 
19 namespace sim {
20  class SimEnergyDeposit;
21 }
22 
23 namespace larg4 {
24  struct ISCalcData {
25  double energyDeposit; // total energy deposited in the step
26  double numElectrons; // number of ionization electrons for this step
27  double numPhotons; // number of scintillation photons for this step
28  double scintillationYieldRatio; // liquid argon scintillation yield ratio
29  };
30 
31  class ISCalc {
32  private:
34 
35  public:
36  ISCalc();
37  virtual ~ISCalc() = default;
39  sim::SimEnergyDeposit const& edep) = 0;
40  virtual double EFieldAtStep(double efield,
41  sim::SimEnergyDeposit const& edep) = 0; //value of field with any corrections for this step
42  double GetScintYield(sim::SimEnergyDeposit const& edep, bool prescale);
43  double GetScintYieldRatio(sim::SimEnergyDeposit const& edep);
44  };
45 }
46 #endif // LARG4_ISCALC_H
virtual double EFieldAtStep(double efield, sim::SimEnergyDeposit const &edep)=0
double energyDeposit
Definition: ISCalc.h:25
double numPhotons
Definition: ISCalc.h:27
double scintillationYieldRatio
Definition: ISCalc.h:28
double numElectrons
Definition: ISCalc.h:26
const detinfo::LArProperties * fLArProp
Definition: ISCalc.h:33
virtual ~ISCalc()=default
virtual ISCalcData CalcIonAndScint(detinfo::DetectorPropertiesData const &detProp, sim::SimEnergyDeposit const &edep)=0
Energy deposition in the active material.
double GetScintYield(sim::SimEnergyDeposit const &edep, bool prescale)
Definition: ISCalc.cxx:26
double GetScintYieldRatio(sim::SimEnergyDeposit const &edep)
Definition: ISCalc.cxx:47
auto const detProp