LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
LArG4Parameters_service.cc
Go to the documentation of this file.
1 // This service exists to pass parameters to various different
8 // classes in LArG4, which are not necessary directly called by
9 // the LArG4_module class.
10 //
11 // Ben Jones, MIT, March 2010
12 
13 
14 // Framework includes
15 
17 
18 namespace sim {
19 
20  //--------------------------------------------------------------------------
22  {
23  this->reconfigure(pset);
24  }
25 
26  //--------------------------------------------------------------------------
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  fRecombA = pset.get< double >("RecombA",util::kRecombA);
55  fRecombk = pset.get< double >("Recombk",util::kRecombk);
56  fModBoxA = pset.get< double >("ModBoxA",util::kModBoxA);
57  fModBoxB = pset.get< double >("ModBoxB",util::kModBoxB);
58  fUseModBoxRecomb = pset.get< bool >("UseModBoxRecomb" );
59  fOpticalParamVolumes = pset.get< std::vector<std::string> >("OpticalParamVolumes" );
60  fOpticalParamModels = pset.get< std::vector<std::string> >("OpticalParamModels" );
61  fOpticalParamOrientations= pset.get< std::vector<int> >("OpticalParamOrientations");
62  fOpticalParamParameters = pset.get< std::vector<std::vector<std::vector<double> > > >("OpticalParamParameters");
63  fLitePhotons = pset.get< bool >("UseLitePhotons" );
64 
65  fFillSimEnergyDeposits = pset.get< bool >("FillSimEnergyDeposits",false);
66  fNoElectronPropagation = pset.get< bool >("NoElectronPropagation",false);
67  fNoPhotonPropagation = pset.get< bool >("NoPhotonPropagation",false);
68 
69  return;
70  }
71 }
72 
73 
74 namespace sim {
75 
77 
78 }
std::vector< std::string > fOpticalParamVolumes
Store parameters for running LArG4.
bool fDrawNeutrals
depricated
LArG4Parameters(fhicl::ParameterSet const &pset, art::ActivityRegistry &reg)
std::vector< int > fOpticalParamOrientations
std::string fIonAndScintCalculator
double fVisualizationEnergyCut
depricated, GeV
#define DEFINE_ART_SERVICE(svc)
Definition: ServiceMacros.h:93
bool fFillSimEnergyDeposits
handle to fill SimEdeps or not
double fModBoxB
Possibly override the ModBoxB parameter.
std::vector< std::vector< std::vector< double > > > fOpticalParamParameters
double fLongitudinalDiffusion
Amount of diffusion in the longitudinal direction, cm^2/ns.
double fRecombA
Possibly override the RecombA parameter.
int fOpVerbosity
Verbosity of optical simulation - soon to be depricated.
bool fNoElectronPropagation
specifically prevents electron propagation
void reconfigure(fhicl::ParameterSet const &pset)
constexpr double kModBoxB
Modified Box Beta in g/(MeV cm²)*kV/cm.
double fTransverseDiffusion
Amount of diffusion in the transverse direction, cm^2/ns.
T get(std::string const &key) const
Definition: ParameterSet.h:231
Monte Carlo Simulation.
bool fUseModBoxRecomb
Use Modified Box model recombination instead of Birks.
int fMinNumberOfElCluster
Minimum number of electron clusters.
constexpr double kRecombk
bool fNoPhotonPropagation
specifically prevents photon propagation in opfast
double fRecombk
Possibly override the Recombk parameter.
std::vector< std::string > fOpticalParamModels
List of names of those models.
constexpr double kRecombA
A constant.
constexpr double kModBoxA
Modified Box Alpha.
double fModBoxA
Possibly override the ModBoxA parameter.
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.