LArSoft
v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
|
#include "ISCalculationSeparate.h"
Public Member Functions | |
ISCalculationSeparate () | |
virtual | ~ISCalculationSeparate () |
void | Initialize (const detinfo::LArProperties *larp, const detinfo::DetectorProperties *detp, const sim::LArG4Parameters *lgp, const spacecharge::SpaceCharge *sce) |
void | Reset () |
void | CalculateIonizationAndScintillation (sim::SimEnergyDeposit const &edep) |
double | EnergyDeposit () const |
double | NumberIonizationElectrons () const |
double | NumberScintillationPhotons () const |
double | EFieldAtStep (double efield, sim::SimEnergyDeposit const &edep) |
ISCalculationSeparate (CLHEP::HepRandomEngine &) | |
virtual | ~ISCalculationSeparate () |
void | Initialize () |
void | Reset () |
void | CalculateIonizationAndScintillation (const G4Step *step) |
double | StepSizeLimit () const |
double | VisibleEnergyDeposit () const |
double | EFieldAtStep (double fEfield, const G4Step *step) const |
Protected Attributes | |
double | fVisibleEnergyDeposition |
Private Member Functions | |
double | EFieldAtStep (double efield, float x, float y, float z) |
void | CalculateIonization (float e, float ds, float x, float y, float z) |
void | CalculateIonization (sim::SimEnergyDeposit const &edep) |
void | CalculateScintillation (float e, int pdg) |
void | CalculateScintillation (sim::SimEnergyDeposit const &edep) |
Private Attributes | |
double | fRecombA |
from LArG4Parameters service More... | |
double | fRecombk |
from LArG4Parameters service More... | |
double | fModBoxA |
from LArG4Parameters service More... | |
double | fModBoxB |
from LArG4Parameters service More... | |
bool | fUseModBoxRecomb |
from LArG4Parameters service More... | |
double | fScintYieldFactor |
scintillation yield factor More... | |
double | fEnergyDeposit |
total energy deposited in the step More... | |
double | fNumIonElectrons |
number of ionization electrons for this step More... | |
double | fNumScintPhotons |
number of scintillation photons for this step More... | |
geo::Vector_t | fEfieldOffsets |
const detinfo::LArProperties * | fLArProp |
const spacecharge::SpaceCharge * | fSCE |
const detinfo::DetectorProperties * | fDetProp |
const sim::LArG4Parameters * | fLArG4Prop |
double | fStepSize |
maximum step to take More... | |
double | fEfield |
value of electric field from LArProperties service More... | |
double | fGeVToElectrons |
conversion factor from LArProperties service More... | |
bool | fScintByParticleType |
from LArProperties service More... | |
G4EmSaturation * | fEMSaturation |
pointer to EM saturation More... | |
Definition at line 26 of file ISCalculationSeparate.h.
larg4::ISCalculationSeparate::ISCalculationSeparate | ( | ) |
Definition at line 28 of file ISCalculationSeparate.cxx.
|
virtual |
Definition at line 33 of file ISCalculationSeparate.cxx.
Referenced by ISCalculationSeparate().
larg4::ISCalculationSeparate::ISCalculationSeparate | ( | CLHEP::HepRandomEngine & | ) |
Definition at line 27 of file ISCalculationSeparate.cxx.
References ~ISCalculationSeparate().
|
virtual |
|
private |
Definition at line 78 of file ISCalculationSeparate.cxx.
References detinfo::DetectorProperties::Efield(), EFieldAtStep(), fDetProp, fEnergyDeposit, fLArG4Prop, fModBoxA, fModBoxB, fNumIonElectrons, fRecombk, fUseModBoxRecomb, sim::LArG4Parameters::GeVToElectrons(), LOG_DEBUG, sim::LArG4Parameters::RecombA(), x, y, and z.
Referenced by CalculateIonization(), and CalculateIonizationAndScintillation().
|
private |
Definition at line 111 of file ISCalculationSeparate.cxx.
References CalculateIonization(), sim::SimEnergyDeposit::Energy(), sim::SimEnergyDeposit::MidPointX(), sim::SimEnergyDeposit::MidPointY(), sim::SimEnergyDeposit::MidPointZ(), and sim::SimEnergyDeposit::StepLength().
|
virtual |
Implements larg4::ISCalculation.
Definition at line 86 of file ISCalculationSeparate.cxx.
References EFieldAtStep(), fEfield, fEMSaturation, fEnergyDeposit, fGeVToElectrons, fModBoxA, fModBoxB, fNumIonElectrons, fNumScintPhotons, fRecombA, fRecombk, fScintByParticleType, fScintYieldFactor, fUseModBoxRecomb, larg4::ISCalculation::fVisibleEnergyDeposition, and LOG_DEBUG.
void larg4::ISCalculationSeparate::CalculateIonizationAndScintillation | ( | sim::SimEnergyDeposit const & | edep | ) |
Definition at line 168 of file ISCalculationSeparate.cxx.
References CalculateIonization(), CalculateScintillation(), sim::SimEnergyDeposit::Energy(), and fEnergyDeposit.
Referenced by larg4::ISCalculationAna::analyze(), spacecharge::ShiftEdepSCE::produce(), phot::PhotonLibraryPropagation::produce(), and detsim::SimDriftElectrons::produce().
|
private |
Definition at line 117 of file ISCalculationSeparate.cxx.
References detinfo::LArProperties::AlphaScintYield(), e, detinfo::LArProperties::ElectronScintYield(), fLArProp, fNumScintPhotons, fScintYieldFactor, detinfo::LArProperties::KaonScintYield(), LOG_DEBUG, detinfo::LArProperties::MuonScintYield(), detinfo::LArProperties::PionScintYield(), detinfo::LArProperties::ProtonScintYield(), detinfo::LArProperties::ScintByParticleType(), and detinfo::LArProperties::ScintYield().
Referenced by CalculateIonizationAndScintillation(), and CalculateScintillation().
|
private |
Definition at line 162 of file ISCalculationSeparate.cxx.
References CalculateScintillation(), sim::SimEnergyDeposit::Energy(), and sim::SimEnergyDeposit::PdgCode().
|
inherited |
Definition at line 30 of file ISCalculation.cxx.
Referenced by larg4::ISCalculation::VisibleEnergyDeposit().
double larg4::ISCalculationSeparate::EFieldAtStep | ( | double | efield, |
sim::SimEnergyDeposit const & | edep | ||
) |
Definition at line 175 of file ISCalculationSeparate.cxx.
References sim::SimEnergyDeposit::MidPointX(), sim::SimEnergyDeposit::MidPointY(), and sim::SimEnergyDeposit::MidPointZ().
Referenced by CalculateIonization(), and CalculateIonizationAndScintillation().
|
private |
Definition at line 181 of file ISCalculationSeparate.cxx.
References spacecharge::SpaceCharge::EnableSimEfieldSCE(), fEfieldOffsets, fSCE, spacecharge::SpaceCharge::GetEfieldOffsets(), x, and y.
|
inline |
Definition at line 39 of file ISCalculationSeparate.h.
Referenced by larg4::ISCalculationAna::analyze().
|
virtual |
Implements larg4::ISCalculation.
Definition at line 37 of file ISCalculationSeparate.cxx.
References detinfo::DetectorProperties::Density(), fEfield, fEMSaturation, fEnergyDeposit, fGeVToElectrons, fModBoxA, fModBoxB, fNumIonElectrons, fNumScintPhotons, fRecombA, fRecombk, fScintByParticleType, fScintYieldFactor, fStepSize, fUseModBoxRecomb, sim::LArG4Parameters::GeVToElectrons(), max, sim::LArG4Parameters::ModBoxA(), sim::LArG4Parameters::ModBoxB(), sim::LArG4Parameters::RecombA(), sim::LArG4Parameters::Recombk(), Reset(), detinfo::LArProperties::ScintByParticleType(), sim::LArG4Parameters::UseModBoxRecomb(), sim::LArVoxelCalculator::VoxelSizeX(), sim::LArVoxelCalculator::VoxelSizeY(), and sim::LArVoxelCalculator::VoxelSizeZ().
void larg4::ISCalculationSeparate::Initialize | ( | const detinfo::LArProperties * | larp, |
const detinfo::DetectorProperties * | detp, | ||
const sim::LArG4Parameters * | lgp, | ||
const spacecharge::SpaceCharge * | sce | ||
) |
Definition at line 38 of file ISCalculationSeparate.cxx.
References detinfo::DetectorProperties::Density(), fDetProp, fLArG4Prop, fLArProp, fModBoxA, fModBoxB, fRecombA, fRecombk, fSCE, fScintYieldFactor, fUseModBoxRecomb, sim::LArG4Parameters::ModBoxA(), sim::LArG4Parameters::ModBoxB(), sim::LArG4Parameters::RecombA(), sim::LArG4Parameters::Recombk(), Reset(), detinfo::DetectorProperties::Temperature(), and sim::LArG4Parameters::UseModBoxRecomb().
Referenced by spacecharge::ShiftEdepSCE::beginJob(), larg4::ISCalculationAna::beginJob(), detsim::SimDriftElectrons::beginJob(), and phot::PhotonLibraryPropagation::produce().
|
inline |
Definition at line 40 of file ISCalculationSeparate.h.
Referenced by larg4::ISCalculationAna::analyze(), spacecharge::ShiftEdepSCE::produce(), and detsim::SimDriftElectrons::produce().
|
inline |
Definition at line 41 of file ISCalculationSeparate.h.
Referenced by larg4::ISCalculationAna::analyze(), spacecharge::ShiftEdepSCE::produce(), and phot::PhotonLibraryPropagation::produce().
|
virtual |
Implements larg4::ISCalculation.
|
virtual |
Implements larg4::ISCalculation.
Definition at line 67 of file ISCalculationSeparate.cxx.
References fEnergyDeposit, fNumIonElectrons, and fNumScintPhotons.
Referenced by larg4::ISCalculationAna::analyze(), Initialize(), spacecharge::ShiftEdepSCE::produce(), phot::PhotonLibraryPropagation::produce(), and detsim::SimDriftElectrons::produce().
|
inlinevirtual |
Implements larg4::ISCalculation.
Definition at line 33 of file ISCalculationSeparate.h.
|
inlineinherited |
Definition at line 32 of file ISCalculation.h.
References larg4::ISCalculation::EFieldAtStep(), and larg4::ISCalculation::fVisibleEnergyDeposition.
|
private |
Definition at line 66 of file ISCalculationSeparate.h.
Referenced by CalculateIonization(), and Initialize().
|
private |
value of electric field from LArProperties service
Definition at line 38 of file ISCalculationSeparate.h.
Referenced by CalculateIonizationAndScintillation(), and Initialize().
|
private |
Definition at line 61 of file ISCalculationSeparate.h.
Referenced by EFieldAtStep().
|
private |
pointer to EM saturation
Definition at line 47 of file ISCalculationSeparate.h.
Referenced by CalculateIonizationAndScintillation(), and Initialize().
|
private |
total energy deposited in the step
Definition at line 57 of file ISCalculationSeparate.h.
Referenced by CalculateIonization(), CalculateIonizationAndScintillation(), Initialize(), and Reset().
|
private |
conversion factor from LArProperties service
Definition at line 39 of file ISCalculationSeparate.h.
Referenced by CalculateIonizationAndScintillation(), and Initialize().
|
private |
Definition at line 67 of file ISCalculationSeparate.h.
Referenced by CalculateIonization(), and Initialize().
|
private |
Definition at line 64 of file ISCalculationSeparate.h.
Referenced by CalculateScintillation(), and Initialize().
|
private |
from LArG4Parameters service
Definition at line 51 of file ISCalculationSeparate.h.
Referenced by CalculateIonization(), CalculateIonizationAndScintillation(), and Initialize().
|
private |
from LArG4Parameters service
Definition at line 52 of file ISCalculationSeparate.h.
Referenced by CalculateIonization(), CalculateIonizationAndScintillation(), and Initialize().
|
private |
number of ionization electrons for this step
Definition at line 58 of file ISCalculationSeparate.h.
Referenced by CalculateIonization(), CalculateIonizationAndScintillation(), Initialize(), and Reset().
|
private |
number of scintillation photons for this step
Definition at line 59 of file ISCalculationSeparate.h.
Referenced by CalculateIonizationAndScintillation(), CalculateScintillation(), Initialize(), and Reset().
|
private |
from LArG4Parameters service
Definition at line 49 of file ISCalculationSeparate.h.
Referenced by CalculateIonizationAndScintillation(), and Initialize().
|
private |
from LArG4Parameters service
Definition at line 50 of file ISCalculationSeparate.h.
Referenced by CalculateIonization(), CalculateIonizationAndScintillation(), and Initialize().
|
private |
Definition at line 65 of file ISCalculationSeparate.h.
Referenced by EFieldAtStep(), and Initialize().
|
private |
from LArProperties service
Definition at line 45 of file ISCalculationSeparate.h.
Referenced by CalculateIonizationAndScintillation(), and Initialize().
|
private |
scintillation yield factor
Definition at line 55 of file ISCalculationSeparate.h.
Referenced by CalculateIonizationAndScintillation(), CalculateScintillation(), and Initialize().
|
private |
maximum step to take
Definition at line 37 of file ISCalculationSeparate.h.
Referenced by Initialize().
|
private |
from LArG4Parameters service
Definition at line 53 of file ISCalculationSeparate.h.
Referenced by CalculateIonization(), CalculateIonizationAndScintillation(), and Initialize().
|
protectedinherited |
Definition at line 42 of file ISCalculation.h.
Referenced by larg4::ISCalculationNEST::CalculateIonizationAndScintillation(), CalculateIonizationAndScintillation(), larg4::ISCalculationNEST::Reset(), and larg4::ISCalculation::VisibleEnergyDeposit().