All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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: Number 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 
22 #include "CLHEP/Random/RandBinomial.h"
23 
24 namespace spacecharge {
25  class SpaceCharge;
26 }
27 
28 namespace CLHEP {
29  class HepRandomEngine;
30 }
31 
32 namespace larg4 {
33  class ISCalcCorrelated : public ISCalc {
34  public:
35  ISCalcCorrelated(detinfo::DetectorPropertiesData const& detProp, CLHEP::HepRandomEngine& Engine);
36 
37  double EFieldAtStep(double efield,
38  sim::SimEnergyDeposit const& edep)
39  override; //value of field with any corrections for this step
41  sim::SimEnergyDeposit const& edep) override;
42 
43  private:
46  CLHEP::RandBinomial fBinomialGen;
47 
48  double fGeVToElectrons; ///< from LArG4Parameters service
49  double fWion; ///< W_ion (23.6 eV) == 1/fGeVToElectrons
50  double fWph; ///< from LArG4Parameters service
51  double fScintPreScale; ///< scintillation pre-scaling factor from LArProperties service
52  double fRecombA; ///< from LArG4Parameters service
53  double fRecombk; ///< from LArG4Parameters service
54  double fModBoxA; ///< from LArG4Parameters service
55  double fModBoxB; ///< from LArG4Parameters service
56  double fLarqlChi0A; ///< from LArG4Parameters service
57  double fLarqlChi0B; ///< from LArG4Parameters service
58  double fLarqlChi0C; ///< from LArG4Parameters service
59  double fLarqlChi0D; ///< from LArG4Parameters service
60  double fLarqlAlpha; ///< from LArG4Parameters service
61  double fLarqlBeta; ///< from LArG4Parameters service
62  bool fUseModBoxRecomb; ///< from LArG4Parameters service
63  bool fUseModLarqlRecomb; ///< from LArG4Parameters service
64  bool fUseBinomialFlucts; ///< from LArG4Parameters service
65 
66  double EscapingEFraction(double const dEdx) const; //LArQL chi0 function = fraction of escaping electrons
67  double FieldCorrection(double const EF, double const dEdx) const; //LArQL f_corr function = correction factor for electric field dependence
68 
69  };
70 }
71 #endif
double FieldCorrection(double const EF, double const dEdx) const
double EscapingEFraction(double const dEdx) const
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.
CLHEP::RandBinomial fBinomialGen
double fGeVToElectrons
from LArG4Parameters service
double fModBoxB
from LArG4Parameters service
bool fUseModLarqlRecomb
from LArG4Parameters service
double fScintPreScale
scintillation pre-scaling factor from LArProperties service
double EFieldAtStep(double efield, sim::SimEnergyDeposit const &edep) override
double fWph
from LArG4Parameters service
bool fUseBinomialFlucts
from LArG4Parameters service
double fLarqlChi0B
from LArG4Parameters service
double fLarqlChi0D
from LArG4Parameters service
bool fUseModBoxRecomb
from LArG4Parameters service
double fLarqlChi0C
from LArG4Parameters service
float dEdx(detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, const TCSlice &slc, TP3D &tp3d)
Definition: PFPUtils.cxx:2687
double fLarqlChi0A
from LArG4Parameters service
double fLarqlBeta
from LArG4Parameters service
Energy deposition in the active material.
double fLarqlAlpha
from LArG4Parameters service
const spacecharge::SpaceCharge * fSCE
double fRecombA
from LArG4Parameters service
ISCalcCorrelated(detinfo::DetectorPropertiesData const &detProp, CLHEP::HepRandomEngine &Engine)
auto const detProp