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 
15 namespace detinfo {
16  class DetectorPropertiesData;
17 }
18 
19 namespace larg4 {
20  struct ISCalcData {
21  double energyDeposit; // total energy deposited in the step
22  double numElectrons; // number of ionization electrons for this step
23  double numPhotons; // number of scintillation photons for this step
24  double scintillationYieldRatio; // liquid argon scintillation yield ratio
25  };
26 
27  class ISCalc {
28  public:
29  virtual ~ISCalc() = default;
30  virtual ISCalcData CalcIonAndScint(detinfo::DetectorPropertiesData const& detProp,
31  sim::SimEnergyDeposit const& edep) = 0;
32  virtual double EFieldAtStep(
33  double efield,
34  sim::SimEnergyDeposit const& edep) = 0; //value of field with any corrections for this step
35  };
36 }
37 #endif // LARG4_ISCALC_H
double energyDeposit
Definition: ISCalc.h:21
double numPhotons
Definition: ISCalc.h:23
Geant4 interface.
double scintillationYieldRatio
Definition: ISCalc.h:24
double numElectrons
Definition: ISCalc.h:22
General LArSoft Utilities.
contains information for a single step in the detector simulation
Energy deposition in the active material.