LArSoft  v06_85_00
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  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  }
68 
69 }
70 
71 
72 namespace sim {
73 
75 
76 }
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
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
void reconfigure(fhicl::ParameterSet const &pset)
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.
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.