15 #include "cetlib_except/exception.h" 18 #include "art_root_io/TFileService.h" 19 #include "art_root_io/TFileDirectory.h" 45 <<
"instance pointer is null, that is bad";
74 fEnergyPerStep = tfs->make<TH1F>(
"energyPerStep",
";Energy (MeV);Steps",
76 fStepSize = tfs->make<TH1F>(
"stepSize",
";Step Size (CLHEP::cm);Steps",
78 fElectronsPerLength = tfs->make<TH1F>(
"electronsPerLength",
";Electrons #times 10^{3}/CLHEP::cm;Steps",
80 fPhotonsPerLength = tfs->make<TH1F>(
"photonsPerLength",
";Photons #times 10^{3}/CLHEP::cm;Steps",
82 fElectronsPerEDep = tfs->make<TH1F>(
"electronsPerEDep",
";Electrons #times 10^{3}/MeV;Steps",
84 fPhotonsPerEDep = tfs->make<TH1F>(
"photonsPerEDep",
";Photons #times 10^{3}/MeV;Steps",
88 500, 0., 5000., 500, 0., 5000.);
108 if(calcName.compare(
"NEST") == 0)
110 else if(calcName.compare(
"Separate") == 0)
114 <<
"No ISCalculation set, this can't be good.";
int fTrkID
last TrkID checked
TH1F * fPhotonsPerEDep
histogram of photons per MeV deposited
static IonizationAndScintillation * gInstance
void Reset(const gar::sdp::EnergyDeposit *dep)
float const & Energy() const
const gar::sdp::EnergyDeposit * fEnergyDeposit
reference to the current energy deposit
virtual void Initialize()=0
virtual double EnergyDeposit() const =0
IonizationAndScintillation(CLHEP::HepRandomEngine &engine)
TH1F * fPhotonsPerLength
histogram of the photons per dX
TH1F * fPhotonsPerStep
histogram of the photons per step
~IonizationAndScintillation()
TH1F * fStepSize
histogram of the step sizes
TH1F * fElectronsPerStep
histogram of electrons per step
T get(std::string const &key) const
static IonizationAndScintillation * CreateInstance(CLHEP::HepRandomEngine &engine, fhicl::ParameterSet const &pset)
static IonizationAndScintillation * Instance()
virtual int NumberIonizationElectrons() const =0
rosim::ISCalculation * fISCalc
produced by an energy deposition
General GArSoft Utilities.
int fStepNumber
last StepNumber checked
TH1F * fEnergyPerStep
histogram of the energy deposited per step
TH1F * fElectronsPerEDep
histogram of electrons per MeV deposited
TH1F * fElectronsPerLength
histogram of electrons per dX
TH2F * fElectronsVsPhotons
histogram of electrons vs photons per step
virtual int NumberScintillationPhotons() const =0
#define MF_LOG_WARNING(category)
virtual void CalculateIonizationAndScintillation(const gar::sdp::EnergyDeposit *dep)=0
cet::coded_exception< error, detail::translate > exception
CLHEP::HepRandomEngine & fEngine
random engine
void reconfigure(fhicl::ParameterSet const &pset)