LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
sim::LArG4Parameters Class Reference

#include "LArG4Parameters.h"

Public Member Functions

 LArG4Parameters (fhicl::ParameterSet const &pset, art::ActivityRegistry &reg)
 
 ~LArG4Parameters ()
 
void reconfigure (fhicl::ParameterSet const &pset)
 
int OpVerbosity () const
 
double ParticleKineticEnergyCut () const
 
bool StoreTrajectories () const
 
bool DrawNeutrals () const
 
double VisualizationEnergyCut () const
 
bool UseCustomPhysics () const
 
double RecombA () const
 
double Recombk () const
 
double ModBoxA () const
 
double ModBoxB () const
 
bool UseModBoxRecomb () const
 
double GeVToElectrons () const
 
double LongitudinalDiffusion () const
 
double TransverseDiffusion () const
 
double ElectronClusterSize () const
 
int MinNumberOfElCluster () const
 
const std::vector< std::string > & EnabledPhysics () const
 
int K0Bias () const
 
int MNXBias () const
 
int MNXSBias () const
 
bool KeepEMShowerDaughters () const
 
bool DisableWireplanes () const
 
const std::vector< unsigned short int > SkipWireSignalInTPCs () const
 
const std::string IonAndScintCalculator () const
 
const std::vector< std::string > OpticalParamVolumes () const
 
const std::vector< std::string > OpticalParamModels () const
 
const std::vector< int > OpticalParamOrientations () const
 
const std::vector< std::vector< std::vector< double > > > OpticalParamParameters () const
 
bool UseLitePhotons () const
 
bool FillSimEnergyDeposits () const
 
bool NoElectronPropagation () const
 
bool NoPhotonPropagation () const
 

Private Attributes

int fOpVerbosity
 Verbosity of optical simulation - soon to be depricated. More...
 
double fParticleKineticECut
 
bool fStoreTrajectories
 
bool fDrawNeutrals
 depricated More...
 
double fVisualizationEnergyCut
 depricated, GeV More...
 
bool fUseCustomPhysics
 
double fLongitudinalDiffusion
 Amount of diffusion in the longitudinal direction, cm^2/ns. More...
 
double fTransverseDiffusion
 Amount of diffusion in the transverse direction, cm^2/ns. More...
 
double fElectronClusterSize
 
int fMinNumberOfElCluster
 Minimum number of electron clusters. More...
 
std::vector< std::string > fEnabledPhysics
 List of enabled physics processes if using Custom physics. More...
 
int fK0Bias
 
int fXSBias
 Turns on cross-section bian in MuNuclear. More...
 
int fXBias
 
bool fKeepEMShowerDaughters
 
bool fDisableWireplanes
 
std::vector< unsigned short int > fSkipWireSignalInTPCs
 selective disabling of drift simulation More...
 
bool fUseModBoxRecomb
 Use Modified Box model recombination instead of Birks. More...
 
std::string fIonAndScintCalculator
 
std::vector< std::string > fOpticalParamVolumes
 
std::vector< std::string > fOpticalParamModels
 List of names of those models. More...
 
std::vector< int > fOpticalParamOrientations
 
std::vector< std::vector< std::vector< double > > > fOpticalParamParameters
 
bool fLitePhotons
 
bool fFillSimEnergyDeposits
 handle to fill SimEdeps or not More...
 
bool fNoElectronPropagation
 specifically prevents electron propagation More...
 
bool fNoPhotonPropagation
 specifically prevents photon propagation in opfast More...
 

Detailed Description

Definition at line 29 of file LArG4Parameters.h.

Constructor & Destructor Documentation

sim::LArG4Parameters::LArG4Parameters ( fhicl::ParameterSet const &  pset,
art::ActivityRegistry reg 
)

Definition at line 21 of file LArG4Parameters_service.cc.

References reconfigure().

22  {
23  this->reconfigure(pset);
24  }
void reconfigure(fhicl::ParameterSet const &pset)
sim::LArG4Parameters::~LArG4Parameters ( )
inline

Definition at line 32 of file LArG4Parameters.h.

References reconfigure().

32 {}

Member Function Documentation

bool sim::LArG4Parameters::DisableWireplanes ( ) const
inline
bool sim::LArG4Parameters::DrawNeutrals ( ) const
inline

Definition at line 39 of file LArG4Parameters.h.

References fDrawNeutrals.

Referenced by larg4::VisualizationAction::VisualizationAction().

39 { return fDrawNeutrals; }
bool fDrawNeutrals
depricated
double sim::LArG4Parameters::ElectronClusterSize ( ) const
inline
const std::vector<std::string>& sim::LArG4Parameters::EnabledPhysics ( ) const
inline

Definition at line 52 of file LArG4Parameters.h.

References fEnabledPhysics.

Referenced by larg4::ModularPhysicsList::ConstructProcess().

52 { return fEnabledPhysics; }
std::vector< std::string > fEnabledPhysics
List of enabled physics processes if using Custom physics.
bool sim::LArG4Parameters::FillSimEnergyDeposits ( ) const
inline

Definition at line 66 of file LArG4Parameters.h.

References fFillSimEnergyDeposits.

Referenced by larg4::LArG4::LArG4(), larg4::LArG4::produce(), and larg4::OpFastScintillation::RecordPhotonsProduced().

66 { return fFillSimEnergyDeposits; }
bool fFillSimEnergyDeposits
handle to fill SimEdeps or not
double sim::LArG4Parameters::GeVToElectrons ( ) const
inline
const std::string sim::LArG4Parameters::IonAndScintCalculator ( ) const
inline
int sim::LArG4Parameters::K0Bias ( ) const
inline

Definition at line 53 of file LArG4Parameters.h.

References fK0Bias.

Referenced by larg4::ModularPhysicsList::ConstructProcess().

53 { return fK0Bias; }
bool sim::LArG4Parameters::KeepEMShowerDaughters ( ) const
inline

Definition at line 56 of file LArG4Parameters.h.

References fKeepEMShowerDaughters.

Referenced by larg4::LArG4::beginJob().

double sim::LArG4Parameters::LongitudinalDiffusion ( ) const
inline

Definition at line 48 of file LArG4Parameters.h.

References fLongitudinalDiffusion.

Referenced by detsim::SimDriftElectrons::beginJob(), and larg4::LArVoxelReadout::Initialize().

48 { return fLongitudinalDiffusion; }
double fLongitudinalDiffusion
Amount of diffusion in the longitudinal direction, cm^2/ns.
int sim::LArG4Parameters::MinNumberOfElCluster ( ) const
inline

Definition at line 51 of file LArG4Parameters.h.

References fMinNumberOfElCluster.

Referenced by detsim::SimDriftElectrons::beginJob(), and larg4::LArVoxelReadout::Initialize().

51 { return fMinNumberOfElCluster; }
int fMinNumberOfElCluster
Minimum number of electron clusters.
int sim::LArG4Parameters::MNXBias ( ) const
inline

Definition at line 54 of file LArG4Parameters.h.

References fXBias.

Referenced by larg4::ModularPhysicsList::ConstructProcess().

54 { return fXBias; }
int sim::LArG4Parameters::MNXSBias ( ) const
inline

Definition at line 55 of file LArG4Parameters.h.

References fXSBias.

Referenced by larg4::ModularPhysicsList::ConstructProcess().

55 { return fXSBias; }
int fXSBias
Turns on cross-section bian in MuNuclear.
double sim::LArG4Parameters::ModBoxA ( ) const
inline

Definition at line 44 of file LArG4Parameters.h.

References util::kModBoxA.

Referenced by larg4::ISCalculationSeparate::Initialize().

44 { return util::kModBoxA; }
constexpr double kModBoxA
Modified Box Alpha.
double sim::LArG4Parameters::ModBoxB ( ) const
inline

Definition at line 45 of file LArG4Parameters.h.

References util::kModBoxB.

Referenced by larg4::ISCalculationSeparate::Initialize().

45 { return util::kModBoxB; }
constexpr double kModBoxB
Modified Box Beta in g/(MeV cm²)*kV/cm.
bool sim::LArG4Parameters::NoElectronPropagation ( ) const
inline

Definition at line 67 of file LArG4Parameters.h.

References fNoElectronPropagation.

Referenced by larg4::LArVoxelReadout::Initialize(), larg4::LArG4::LArG4(), and larg4::LArG4::produce().

67 { return fNoElectronPropagation; }
bool fNoElectronPropagation
specifically prevents electron propagation
bool sim::LArG4Parameters::NoPhotonPropagation ( ) const
inline

Definition at line 68 of file LArG4Parameters.h.

References fNoPhotonPropagation.

Referenced by larg4::LArG4::LArG4(), larg4::LArG4::produce(), and larg4::OpFastScintillation::RecordPhotonsProduced().

68 { return fNoPhotonPropagation; }
bool fNoPhotonPropagation
specifically prevents photon propagation in opfast
const std::vector<std::string> sim::LArG4Parameters::OpticalParamModels ( ) const
inline

Definition at line 61 of file LArG4Parameters.h.

References fOpticalParamModels.

Referenced by larg4::OpDetReadoutGeometry::Construct().

61 { return fOpticalParamModels; }
std::vector< std::string > fOpticalParamModels
List of names of those models.
const std::vector<int> sim::LArG4Parameters::OpticalParamOrientations ( ) const
inline

Definition at line 62 of file LArG4Parameters.h.

References fOpticalParamOrientations.

Referenced by larg4::OpDetReadoutGeometry::Construct().

std::vector< int > fOpticalParamOrientations
const std::vector<std::vector<std::vector<double> > > sim::LArG4Parameters::OpticalParamParameters ( ) const
inline

Definition at line 63 of file LArG4Parameters.h.

References fOpticalParamParameters.

Referenced by larg4::OpDetReadoutGeometry::Construct().

63 {return fOpticalParamParameters; }
std::vector< std::vector< std::vector< double > > > fOpticalParamParameters
const std::vector<std::string> sim::LArG4Parameters::OpticalParamVolumes ( ) const
inline

Definition at line 60 of file LArG4Parameters.h.

References fOpticalParamVolumes.

Referenced by larg4::OpDetReadoutGeometry::Construct().

60 { return fOpticalParamVolumes; }
std::vector< std::string > fOpticalParamVolumes
int sim::LArG4Parameters::OpVerbosity ( ) const
inline

Definition at line 36 of file LArG4Parameters.h.

References fOpVerbosity.

Referenced by larg4::OpBoundaryProcessSimple::PostStepDoIt().

36 { return fOpVerbosity; }
int fOpVerbosity
Verbosity of optical simulation - soon to be depricated.
double sim::LArG4Parameters::ParticleKineticEnergyCut ( ) const
inline

Definition at line 37 of file LArG4Parameters.h.

References fParticleKineticECut.

Referenced by larg4::LArG4::beginJob().

37 { return fParticleKineticECut; }
double sim::LArG4Parameters::RecombA ( ) const
inline

Definition at line 42 of file LArG4Parameters.h.

References util::kRecombA.

Referenced by larg4::ISCalculationSeparate::CalculateIonization(), and larg4::ISCalculationSeparate::Initialize().

42 { return util::kRecombA; }
constexpr double kRecombA
A constant.
double sim::LArG4Parameters::Recombk ( ) const
inline

Definition at line 43 of file LArG4Parameters.h.

References util::kRecombk.

Referenced by larg4::ISCalculationSeparate::Initialize().

43 { return util::kRecombk; }
constexpr double kRecombk
void sim::LArG4Parameters::reconfigure ( fhicl::ParameterSet const &  pset)

Definition at line 27 of file LArG4Parameters_service.cc.

References DEFINE_ART_SERVICE, fDisableWireplanes, fDrawNeutrals, fElectronClusterSize, fEnabledPhysics, fFillSimEnergyDeposits, fIonAndScintCalculator, fK0Bias, fKeepEMShowerDaughters, fLitePhotons, fLongitudinalDiffusion, fMinNumberOfElCluster, fNoElectronPropagation, fNoPhotonPropagation, fOpticalParamModels, fOpticalParamOrientations, fOpticalParamParameters, fOpticalParamVolumes, fOpVerbosity, fParticleKineticECut, fSkipWireSignalInTPCs, fStoreTrajectories, fTransverseDiffusion, fUseCustomPhysics, fUseModBoxRecomb, fVisualizationEnergyCut, fXBias, fXSBias, and fhicl::ParameterSet::get().

Referenced by LArG4Parameters(), and ~LArG4Parameters().

28  {
29 
30  fOpVerbosity = pset.get< int >("OpticalSimVerbosity" );
31  fParticleKineticECut = pset.get< double >("ParticleKineticEnergyCut");
32  fStoreTrajectories = pset.get< bool >("StoreTrajectories" );
33  fDrawNeutrals = pset.get< bool >("VisualizeNeutrals" );
34  fVisualizationEnergyCut = pset.get< double >("VisualizationEnergyCut" );
35  fUseCustomPhysics = pset.get< bool >("UseCustomPhysics" );
36  fKeepEMShowerDaughters = pset.get< bool >("KeepEMShowerDaughters" );
37  fLongitudinalDiffusion = pset.get< double >("LongitudinalDiffusion" );
38  fTransverseDiffusion = pset.get< double >("TransverseDiffusion" );
39  fElectronClusterSize = pset.get< double >("ElectronClusterSize" );
40  fMinNumberOfElCluster = pset.get< int >("MinNumberOfElCluster" );
41  fEnabledPhysics = pset.get< std::vector<std::string> >("EnabledPhysics" );
42  fK0Bias = pset.get< int >("CosmogenicK0Bias" );
43  fXBias = pset.get< int >("CosmogenicXSMNBiasOn" );
44  fXSBias = pset.get< int >("CosmogenicXSMNBiasFactor");
45  // First of last 3 flags above turns on secondary particle bias for
46  // K0s,Lambdas,neutrons in MuNuclear.
47  // The second turns on cross-section bias in MuNuclear.
48  // The 3rd is the enhancement factor for XS bias in MuNuclear. Keep it
49  // <=100.
50 
51  fIonAndScintCalculator = pset.get< std::string >("IonAndScintCalculator", "Separate");
52  fDisableWireplanes = pset.get< bool >("DisableWireplanes" );
53  fSkipWireSignalInTPCs = pset.get< std::vector<unsigned short int> >("SkipWireSignalInTPCs" );
54  fUseModBoxRecomb = pset.get< bool >("UseModBoxRecomb" );
55  fOpticalParamVolumes = pset.get< std::vector<std::string> >("OpticalParamVolumes" );
56  fOpticalParamModels = pset.get< std::vector<std::string> >("OpticalParamModels" );
57  fOpticalParamOrientations= pset.get< std::vector<int> >("OpticalParamOrientations");
58  fOpticalParamParameters = pset.get< std::vector<std::vector<std::vector<double> > > >("OpticalParamParameters");
59  fLitePhotons = pset.get< bool >("UseLitePhotons" );
60 
61  fFillSimEnergyDeposits = pset.get< bool >("FillSimEnergyDeposits",false);
62  fNoElectronPropagation = pset.get< bool >("NoElectronPropagation",false);
63  fNoPhotonPropagation = pset.get< bool >("NoPhotonPropagation",false);
64 
65 
66  return;
67  }
std::vector< std::string > fOpticalParamVolumes
bool fDrawNeutrals
depricated
std::vector< int > fOpticalParamOrientations
std::string fIonAndScintCalculator
double fVisualizationEnergyCut
depricated, GeV
bool fFillSimEnergyDeposits
handle to fill SimEdeps or not
std::vector< std::vector< std::vector< double > > > fOpticalParamParameters
double fLongitudinalDiffusion
Amount of diffusion in the longitudinal direction, cm^2/ns.
int fOpVerbosity
Verbosity of optical simulation - soon to be depricated.
bool fNoElectronPropagation
specifically prevents electron propagation
double fTransverseDiffusion
Amount of diffusion in the transverse direction, cm^2/ns.
bool fUseModBoxRecomb
Use Modified Box model recombination instead of Birks.
int fMinNumberOfElCluster
Minimum number of electron clusters.
bool fNoPhotonPropagation
specifically prevents photon propagation in opfast
std::vector< std::string > fOpticalParamModels
List of names of those models.
std::vector< std::string > fEnabledPhysics
List of enabled physics processes if using Custom physics.
std::vector< unsigned short int > fSkipWireSignalInTPCs
selective disabling of drift simulation
int fXSBias
Turns on cross-section bian in MuNuclear.
const std::vector<unsigned short int> sim::LArG4Parameters::SkipWireSignalInTPCs ( ) const
inline

Definition at line 58 of file LArG4Parameters.h.

References fSkipWireSignalInTPCs.

Referenced by larg4::LArVoxelReadout::Initialize().

58 { return fSkipWireSignalInTPCs;}
std::vector< unsigned short int > fSkipWireSignalInTPCs
selective disabling of drift simulation
bool sim::LArG4Parameters::StoreTrajectories ( ) const
inline

Definition at line 38 of file LArG4Parameters.h.

References fStoreTrajectories.

Referenced by larg4::LArG4::beginJob().

38 { return fStoreTrajectories; }
double sim::LArG4Parameters::TransverseDiffusion ( ) const
inline

Definition at line 49 of file LArG4Parameters.h.

References fTransverseDiffusion.

Referenced by detsim::SimDriftElectrons::beginJob(), and larg4::LArVoxelReadout::Initialize().

49 { return fTransverseDiffusion; }
double fTransverseDiffusion
Amount of diffusion in the transverse direction, cm^2/ns.
bool sim::LArG4Parameters::UseCustomPhysics ( ) const
inline

Definition at line 41 of file LArG4Parameters.h.

References fUseCustomPhysics.

Referenced by larg4::ModularPhysicsList::ConstructProcess().

41 { return fUseCustomPhysics; }
bool sim::LArG4Parameters::UseModBoxRecomb ( ) const
inline

Definition at line 46 of file LArG4Parameters.h.

References fUseModBoxRecomb.

Referenced by larg4::ISCalculationSeparate::Initialize().

46 { return fUseModBoxRecomb; }
bool fUseModBoxRecomb
Use Modified Box model recombination instead of Birks.
double sim::LArG4Parameters::VisualizationEnergyCut ( ) const
inline

Definition at line 40 of file LArG4Parameters.h.

References fVisualizationEnergyCut.

Referenced by larg4::VisualizationAction::VisualizationAction().

40 { return fVisualizationEnergyCut; }
double fVisualizationEnergyCut
depricated, GeV

Member Data Documentation

bool sim::LArG4Parameters::fDisableWireplanes
private

Turn of LAr sensitivity and remove charge drift simulation - use for running pure optical sims

Definition at line 93 of file LArG4Parameters.h.

Referenced by DisableWireplanes(), and reconfigure().

bool sim::LArG4Parameters::fDrawNeutrals
private

depricated

Definition at line 76 of file LArG4Parameters.h.

Referenced by DrawNeutrals(), and reconfigure().

double sim::LArG4Parameters::fElectronClusterSize
private

Number of ionization electrons in a given cluster to be simulated in the readout simulation

Definition at line 82 of file LArG4Parameters.h.

Referenced by ElectronClusterSize(), and reconfigure().

std::vector<std::string> sim::LArG4Parameters::fEnabledPhysics
private

List of enabled physics processes if using Custom physics.

Definition at line 85 of file LArG4Parameters.h.

Referenced by EnabledPhysics(), and reconfigure().

bool sim::LArG4Parameters::fFillSimEnergyDeposits
private

handle to fill SimEdeps or not

Definition at line 112 of file LArG4Parameters.h.

Referenced by FillSimEnergyDeposits(), and reconfigure().

std::string sim::LArG4Parameters::fIonAndScintCalculator
private

Name of algorithm to use to calculate the number of ionization electrons and scintillation photons for each G4 step, used by LArG4/IonizationAndScintillation.cxx

Definition at line 97 of file LArG4Parameters.h.

Referenced by IonAndScintCalculator(), and reconfigure().

int sim::LArG4Parameters::fK0Bias
private

Turns on secondary particle bias for K0, Lambda, neutrons in MuNuclear

Definition at line 86 of file LArG4Parameters.h.

Referenced by K0Bias(), and reconfigure().

bool sim::LArG4Parameters::fKeepEMShowerDaughters
private

Whether to keep the secondary, tertiary, etc. particles from an EM shower in the output

Definition at line 91 of file LArG4Parameters.h.

Referenced by KeepEMShowerDaughters(), and reconfigure().

bool sim::LArG4Parameters::fLitePhotons
private

Definition at line 110 of file LArG4Parameters.h.

Referenced by reconfigure(), and UseLitePhotons().

double sim::LArG4Parameters::fLongitudinalDiffusion
private

Amount of diffusion in the longitudinal direction, cm^2/ns.

Definition at line 80 of file LArG4Parameters.h.

Referenced by LongitudinalDiffusion(), and reconfigure().

int sim::LArG4Parameters::fMinNumberOfElCluster
private

Minimum number of electron clusters.

Definition at line 84 of file LArG4Parameters.h.

Referenced by MinNumberOfElCluster(), and reconfigure().

bool sim::LArG4Parameters::fNoElectronPropagation
private

specifically prevents electron propagation

Definition at line 114 of file LArG4Parameters.h.

Referenced by NoElectronPropagation(), and reconfigure().

bool sim::LArG4Parameters::fNoPhotonPropagation
private

specifically prevents photon propagation in opfast

Definition at line 115 of file LArG4Parameters.h.

Referenced by NoPhotonPropagation(), and reconfigure().

std::vector<std::string> sim::LArG4Parameters::fOpticalParamModels
private

List of names of those models.

Definition at line 103 of file LArG4Parameters.h.

Referenced by OpticalParamModels(), and reconfigure().

std::vector<int> sim::LArG4Parameters::fOpticalParamOrientations
private

List of orientations of (eg wireplane) in each param volume

Definition at line 104 of file LArG4Parameters.h.

Referenced by OpticalParamOrientations(), and reconfigure().

std::vector<std::vector<std::vector<double> > > sim::LArG4Parameters::fOpticalParamParameters
private

Model dependent list of parameters for optically paramaterized volumes

Definition at line 106 of file LArG4Parameters.h.

Referenced by OpticalParamParameters(), and reconfigure().

std::vector<std::string> sim::LArG4Parameters::fOpticalParamVolumes
private

List of volume names which have parameterized optical models

Definition at line 101 of file LArG4Parameters.h.

Referenced by OpticalParamVolumes(), and reconfigure().

int sim::LArG4Parameters::fOpVerbosity
private

Verbosity of optical simulation - soon to be depricated.

Definition at line 71 of file LArG4Parameters.h.

Referenced by OpVerbosity(), and reconfigure().

double sim::LArG4Parameters::fParticleKineticECut
private

Minimum energy a particle needs before asking Geant4 to track it, GeV

Definition at line 72 of file LArG4Parameters.h.

Referenced by ParticleKineticEnergyCut(), and reconfigure().

std::vector<unsigned short int> sim::LArG4Parameters::fSkipWireSignalInTPCs
private

selective disabling of drift simulation

Definition at line 95 of file LArG4Parameters.h.

Referenced by reconfigure(), and SkipWireSignalInTPCs().

bool sim::LArG4Parameters::fStoreTrajectories
private

Whether to store full trajectories for every particle simulated by Geant4

Definition at line 74 of file LArG4Parameters.h.

Referenced by reconfigure(), and StoreTrajectories().

double sim::LArG4Parameters::fTransverseDiffusion
private

Amount of diffusion in the transverse direction, cm^2/ns.

Definition at line 81 of file LArG4Parameters.h.

Referenced by reconfigure(), and TransverseDiffusion().

bool sim::LArG4Parameters::fUseCustomPhysics
private

Whether to use a custom list of physics processes or the default

Definition at line 78 of file LArG4Parameters.h.

Referenced by reconfigure(), and UseCustomPhysics().

bool sim::LArG4Parameters::fUseModBoxRecomb
private

Use Modified Box model recombination instead of Birks.

Definition at line 96 of file LArG4Parameters.h.

Referenced by reconfigure(), and UseModBoxRecomb().

double sim::LArG4Parameters::fVisualizationEnergyCut
private

depricated, GeV

Definition at line 77 of file LArG4Parameters.h.

Referenced by reconfigure(), and VisualizationEnergyCut().

int sim::LArG4Parameters::fXBias
private

Enhancement factor for cross-section bian in MuNuclear, should be <= 100

Definition at line 89 of file LArG4Parameters.h.

Referenced by MNXBias(), and reconfigure().

int sim::LArG4Parameters::fXSBias
private

Turns on cross-section bian in MuNuclear.

Definition at line 88 of file LArG4Parameters.h.

Referenced by MNXSBias(), and reconfigure().


The documentation for this class was generated from the following files: