LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
ISCalcCorrelated.h
Go to the documentation of this file.
1 // 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
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:
36  CLHEP::HepRandomEngine& Engine);
37 
38  double EFieldAtStep(double efield,
40  override; //value of field with any corrections for this step
41  double AngleToEFieldAtStep(double efield, sim::SimEnergyDeposit const& edep);
42  ISCalcData CalcIonAndScint(detinfo::DetectorPropertiesData const& detProp,
43  sim::SimEnergyDeposit const& edep) override;
44 
45  private:
48  CLHEP::RandBinomial fBinomialGen;
49 
50  double fGeVToElectrons;
51  double fWion;
52  double fWph;
53  double fScintPreScale;
54  double fRecombA;
55  double fRecombk;
56  double fModBoxA;
57  double fModBoxB;
58  double fEllipsModBoxA;
59  double fEllipsModBoxB;
60  double fEllipsModBoxR;
61  double fLarqlChi0A;
62  double fLarqlChi0B;
63  double fLarqlChi0C;
64  double fLarqlChi0D;
65  double fLarqlAlpha;
66  double fLarqlBeta;
67  double fQAlpha;
72 
73  double EscapingEFraction(
74  double const dEdx) const; //LArQL chi0 function = fraction of escaping electrons
75  double FieldCorrection(double const EF, double const dEdx)
76  const; //LArQL f_corr function = correction factor for electric field dependence
77  };
78 }
79 #endif
double fModBoxA
from LArG4Parameters service
double fRecombk
from LArG4Parameters service
double fEllipsModBoxA
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
double fQAlpha
from LArG4Parameters service
double fEllipsModBoxR
from LArG4Parameters service
bool fUseModLarqlRecomb
from LArG4Parameters service
Geant4 interface.
double fEllipsModBoxB
from LArG4Parameters service
double fScintPreScale
scintillation pre-scaling factor from LArProperties service
double fWph
from LArG4Parameters service
bool fUseBinomialFlucts
from LArG4Parameters service
double fLarqlChi0B
from LArG4Parameters service
bool fUseEllipsModBoxRecomb
from LArG4Parameters service
double fLarqlChi0D
from LArG4Parameters service
bool fUseModBoxRecomb
from LArG4Parameters service
double fLarqlChi0C
from LArG4Parameters service
Double_t edep
Definition: macro.C:13
float dEdx(detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, const TCSlice &slc, TP3D &tp3d)
Definition: PFPUtils.cxx:2675
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