31 constexpr
double scint_yield_factor{1.};
38 : fRecombA{pset.
get<
double>(
"RecombA")}
39 ,
fRecombk{pset.get<
double>(
"Recombk")}
40 ,
fModBoxA{pset.get<
double>(
"ModBoxA")}
41 ,
fModBoxB{pset.get<
double>(
"ModBoxB")}
45 fLArProp = lar::providerFrom<detinfo::LArPropertiesService>();
46 fSCE = lar::providerFrom<spacecharge::SpaceChargeService>();
53 std::cout <<
"fLArG4Prop->GeVToElectrons(): " <<
fGeVToElectrons << std::endl;
67 double dEdx = (ds <= 0.0) ? 0.0 : e /
ds;
71 if (dEdx < 1.) dEdx = 1.;
75 double Xi =
fModBoxB * dEdx / EFieldStep;
89 <<
" Electrons produced for " << edep.
Energy() <<
" MeV deposited with " << recomb
90 <<
" recombination: " << numIonElectrons << std::endl;
92 return numIonElectrons;
103 MF_LOG_DEBUG(
"ISCalculationSeparate") <<
"scintillating by particle type";
121 return scintYield *
e;
124 return scint_yield_factor * scintYield *
e;
148 return std::hypot(efield + efield * offsets.X(), efield * offsets.Y(), efield * offsets.Z());
virtual bool EnableSimEfieldSCE() const =0
virtual double AlphaScintYield(bool prescale=false) const =0
geo::Length_t StepLength() const
Utilities related to art service access.
const detinfo::LArProperties * fLArProp
double fGeVToElectrons
from LArG4Parameters service
Detector simulation of raw signals on wires.
double CalculateIonization(detinfo::DetectorPropertiesData const &detProp, sim::SimEnergyDeposit const &edep) const
ISCalculationSeparate(fhicl::ParameterSet const &pset)
const spacecharge::SpaceCharge * fSCE
double Efield(unsigned int planegap=0) const
kV/cm
virtual double ProtonScintYield(bool prescale=false) const =0
double EFieldAtStep(double efield, sim::SimEnergyDeposit const &edep) const
T get(std::string const &key) const
virtual double ElectronScintYield(bool prescale=false) const =0
Data CalculateIonizationAndScintillation(detinfo::DetectorPropertiesData const &detProp, sim::SimEnergyDeposit const &edep) const
virtual double PionScintYield(bool prescale=false) const =0
float dEdx(detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, const TCSlice &slc, TP3D &tp3d)
geo::Length_t MidPointX() const
geo::Length_t MidPointY() const
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
virtual geo::Vector_t GetEfieldOffsets(geo::Point_t const &point) const =0
virtual double MuonScintYield(bool prescale=false) const =0
virtual double KaonScintYield(bool prescale=false) const =0
contains information for a single step in the detector simulation
geo::Length_t MidPointZ() const
virtual double ScintYield(bool prescale=false) const =0
Energy deposition in the active material.
virtual bool ScintByParticleType() const =0
double CalculateScintillation(sim::SimEnergyDeposit const &edep) const