LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
ISCalcSeparate.h
Go to the documentation of this file.
1 #ifndef IS_ISCALCSEPARATE_H
14 #define IS_ISCALCSEPARATE_H
15 
16 #include <vector>
18 
19 // forward declaration
20 namespace detinfo { class LArProperties; class DetectorProperties; }
21 namespace sim { class SimEnergyDeposit; class LArG4Parameters; }
22 namespace spacecharge { class SpaceCharge; }
23 
24 namespace larg4 {
25 
27 
28  public:
29 
31  virtual ~ISCalcSeparate();
32 
33  void Initialize(const detinfo::LArProperties* larp,
34  const detinfo::DetectorProperties* detp,
35  const sim::LArG4Parameters* lgp,
36  const spacecharge::SpaceCharge* sce);
37  void Reset();
38  void CalculateIonizationAndScintillation(sim::SimEnergyDeposit const& edep);
39  double EnergyDeposit() const { return fEnergyDeposit; }
40  double NumberIonizationElectrons() const { return fNumIonElectrons; }
41  double NumberScintillationPhotons() const { return fNumScintPhotons; }
42 
43  double EFieldAtStep(double efield, sim::SimEnergyDeposit const& edep); //value of field with any corrections for this step
44 
45  private:
46 
47  double fRecombA;
48  double fRecombk;
49  double fModBoxA;
50  double fModBoxB;
52  double fGeVToElectrons;
53 
55 
56  double fEnergyDeposit;
59 
61  double EFieldAtStep(double efield, float x, float y, float z);
62 
67 
68  void CalculateIonization(float e, float ds, float x, float y, float z);
69  void CalculateIonization(sim::SimEnergyDeposit const& edep);
70 
71  void CalculateScintillation(float e, int pdg);
72  void CalculateScintillation(sim::SimEnergyDeposit const& edep);
73 
74  };
75 }
76 #endif // LARG4_ISCALCULATIONSEPARATE_H
77 
Float_t x
Definition: compare.C:6
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Vector_t
Type for representation of momenta in 3D space.
Definition: geo_vectors.h:167
double fNumScintPhotons
number of scintillation photons for this step
const detinfo::LArProperties * fLArProp
geo::Vector_t fEfieldOffsets
Float_t y
Definition: compare.C:6
void Initialize()
Definition: errprop.cc:101
Double_t z
Definition: plot.C:279
double fModBoxA
from LArG4Parameters service
Geant4 interface.
double fRecombk
from LArG4Parameters service
double fEnergyDeposit
total energy deposited in the step
const sim::LArG4Parameters * fLArG4Prop
double NumberScintillationPhotons() const
double EnergyDeposit() const
const detinfo::DetectorProperties * fDetProp
Definitions of geometry vector data types.
ntupleExperimental Reset()
double fNumIonElectrons
number of ionization electrons for this step
double fRecombA
from LArG4Parameters service
General LArSoft Utilities.
Double_t edep
Definition: macro.C:13
Monte Carlo Simulation.
double fScintYieldFactor
scintillation yield factor
const spacecharge::SpaceCharge * fSCE
double NumberIonizationElectrons() const
double fGeVToElectrons
from LArG4Parameters service
double fModBoxB
from LArG4Parameters service
Float_t e
Definition: plot.C:34
bool fUseModBoxRecomb
from LArG4Parameters service