LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
ISCalc.h
Go to the documentation of this file.
1 // 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
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;
38  virtual ISCalcData CalcIonAndScint(detinfo::DetectorPropertiesData const& detProp,
39  sim::SimEnergyDeposit const& edep) = 0;
40  virtual double EFieldAtStep(
41  double efield,
42  sim::SimEnergyDeposit const& edep) = 0; //value of field with any corrections for this step
43  double GetScintYield(sim::SimEnergyDeposit const& edep, bool prescale);
44  double GetScintYieldRatio(sim::SimEnergyDeposit const& edep);
45  };
46 }
47 #endif // LARG4_ISCALC_H
double energyDeposit
Definition: ISCalc.h:25
double numPhotons
Definition: ISCalc.h:27
Geant4 interface.
double scintillationYieldRatio
Definition: ISCalc.h:28
double numElectrons
Definition: ISCalc.h:26
const detinfo::LArProperties * fLArProp
Definition: ISCalc.h:33
General LArSoft Utilities.
Double_t edep
Definition: macro.C:13
Monte Carlo Simulation.
Energy deposition in the active material.