LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
ISCalculationSeparate.h
Go to the documentation of this file.
1 #ifndef IS_ISCALCULATIONSEPARATE_H
14 #define IS_ISCALCULATIONSEPARATE_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 ~ISCalculationSeparate();
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  //unused double fEfield; ///< value of electric field from LArProperties service
48  //unused double fGeVToElectrons; ///< conversion factor from LArProperties service
49  double fRecombA;
50  double fRecombk;
51  double fModBoxA;
52  double fModBoxB;
54  //unused bool fScintByParticleType; ///< from LArProperties service
56 
57  double fEnergyDeposit;
60 
62  double EFieldAtStep(double efield, float x, float y, float z);
63 
68 
69  void CalculateIonization(float e, float ds, float x, float y, float z);
70  void CalculateIonization(sim::SimEnergyDeposit const& edep);
71 
72  void CalculateScintillation(float e, int pdg);
73  void CalculateScintillation(sim::SimEnergyDeposit const& edep);
74 
75  };
76 }
77 #endif // LARG4_ISCALCULATIONSEPARATE_H
78 
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
const detinfo::DetectorProperties * fDetProp
bool fUseModBoxRecomb
from LArG4Parameters service
double fEnergyDeposit
total energy deposited in the step
const spacecharge::SpaceCharge * fSCE
double fScintYieldFactor
scintillation yield factor
Float_t y
Definition: compare.C:6
void Initialize()
Definition: errprop.cc:101
const detinfo::LArProperties * fLArProp
Double_t z
Definition: plot.C:279
Geant4 interface.
double fRecombA
from LArG4Parameters service
double fNumIonElectrons
number of ionization electrons for this step
double fNumScintPhotons
number of scintillation photons for this step
Definitions of geometry vector data types.
ntupleExperimental Reset()
double fModBoxB
from LArG4Parameters service
General LArSoft Utilities.
const sim::LArG4Parameters * fLArG4Prop
Double_t edep
Definition: macro.C:13
Monte Carlo Simulation.
double fRecombk
from LArG4Parameters service
double fModBoxA
from LArG4Parameters service
Float_t e
Definition: plot.C:34