ISCalcCorrelated.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 // Class: ISCalcCorrelated
3 // Plugin Type: algorithm
4 // File: ISCalcCorrelated.h and ISCalcCorrelated.cxx
5 // Description: Interface to algorithm class for a specific calculation of
6 // ionization electrons and scintillation photons, based on
7 // simple microphysics arguments to establish an anticorrelation
8 // between these two quantities.
9 // Input: 'sim::SimEnergyDeposit'
10 // Output: num of Photons and Electrons
11 // May 2020 by W Foreman
12 // Modified: Adding corrections for low electric field (LArQL model)
13 // Jun 2020 by L. Paulucci and F. Marinho
14 ////////////////////////////////////////////////////////////////////////
15 
16 #ifndef IS_ISCALCCORRELATED_H
17 #define IS_ISCALCCORRELATED_H
18 
21 
26 
29 #include <vector>
30 
31 #include "CLHEP/Vector/ThreeVector.h"
33 
34 namespace larg4 {
35  class ISCalcCorrelated : public ISCalc {
36  public:
38 
39  double EFieldAtStep(double efield,
40  sim::SimEnergyDeposit const& edep)
41  override; //value of field with any corrections for this step
43  sim::SimEnergyDeposit const& edep) override;
44 
45  private:
46  double fGeVToElectrons; ///< from LArG4Parameters service
47  double fWion; ///< W_ion (23.6 eV) == 1/fGeVToElectrons
48  double fWph; ///< W_ph (19.5 eV)
49  double fScintPreScale; ///< scintillation pre-scaling factor from LArProperties service
50  double fRecombA; ///< from LArG4Parameters service
51  double fRecombk; ///< from LArG4Parameters service
52  double fModBoxA; ///< from LArG4Parameters service
53  double fModBoxB; ///< from LArG4Parameters service
54  double fLarqlChi0A; ///< from LArG4Parameters service
55  double fLarqlChi0B; ///< from LArG4Parameters service
56  double fLarqlChi0C; ///< from LArG4Parameters service
57  double fLarqlChi0D; ///< from LArG4Parameters service
58  double fLarqlAlpha; ///< from LArG4Parameters service
59  double fLarqlBeta; ///< from LArG4Parameters service
60  bool fUseModBoxRecomb; ///< from LArG4Parameters service
61  bool fUseModLarqlRecomb; ///< from LArG4Parameters service
62 
65 
66  void CalcIon(sim::SimEnergyDeposit const& edep);
67  void CalcScint(sim::SimEnergyDeposit const& edep);
68  double GetScintYieldRatio(sim::SimEnergyDeposit const& edep);
69  double EscapingEFraction(double const dEdx); //LArQL chi0 function = fraction of escaping electrons
70  double FieldCorrection(double const EF, double const dEdx); //LArQL f_corr function = correction factor for electric field dependence
72  };
73 }
74 #endif
Store parameters for running LArG4.
double fModBoxA
from LArG4Parameters service
ISCalcData CalcIonAndScint(detinfo::DetectorPropertiesData const &detProp, sim::SimEnergyDeposit const &edep) override
double fRecombk
from LArG4Parameters service
double fWion
W_ion (23.6 eV) == 1/fGeVToElectrons.
double fGeVToElectrons
from LArG4Parameters service
double fModBoxB
from LArG4Parameters service
bool fUseModLarqlRecomb
from LArG4Parameters service
Geant4 interface.
double EscapingEFraction(double const dEdx)
double fScintPreScale
scintillation pre-scaling factor from LArProperties service
double EFieldAtStep(double efield, sim::SimEnergyDeposit const &edep) override
double fWph
W_ph (19.5 eV)
double dEdx(float dqdx, float Efield)
Definition: doAna.cpp:21
void CalcScint(sim::SimEnergyDeposit const &edep)
double fLarqlChi0B
from LArG4Parameters service
double fLarqlChi0D
from LArG4Parameters service
bool fUseModBoxRecomb
from LArG4Parameters service
double fLarqlChi0C
from LArG4Parameters service
ISCalcCorrelated(detinfo::DetectorPropertiesData const &detProp)
double fLarqlChi0A
from LArG4Parameters service
double fLarqlBeta
from LArG4Parameters service
Energy deposition in the active material.
double GetScintYieldRatio(sim::SimEnergyDeposit const &edep)
double fLarqlAlpha
from LArG4Parameters service
Definitions of geometry vector data types.
const detinfo::LArProperties * fLArProp
void CalcIon(sim::SimEnergyDeposit const &edep)
Collection of Physical constants used in LArSoft.
const spacecharge::SpaceCharge * fSCE
double fRecombA
from LArG4Parameters service
double FieldCorrection(double const EF, double const dEdx)