LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
LArG4Parameters.h
Go to the documentation of this file.
1 //
8 // This service exists to pass parameters to various different
9 // classes in LArG4, which are not necessary directly called by
10 // the LArG4_module class.
11 //
12 // Ben Jones, MIT, March 2010
13 
14 
15 #include <string>
16 
17 #ifndef LArG4Parameters_h
18 #define LArG4Parameters_h 1
19 
20 #include "fhiclcpp/ParameterSet.h"
24 
26 
27 namespace sim {
28 
30  public:
33 
34  void reconfigure(fhicl::ParameterSet const& pset);
35 
36  int OpVerbosity() const { return fOpVerbosity; }
38  bool StoreTrajectories() const { return fStoreTrajectories; }
39  bool DrawNeutrals() const { return fDrawNeutrals; }
41  bool UseCustomPhysics() const { return fUseCustomPhysics; }
42  double RecombA() const { return util::kRecombA; }
43  double Recombk() const { return util::kRecombk; }
44  double ModBoxA() const { return util::kModBoxA; }
45  double ModBoxB() const { return util::kModBoxB; }
46  bool UseModBoxRecomb() const { return fUseModBoxRecomb; }
47  double GeVToElectrons() const { return util::kGeVToElectrons; }
48  double LongitudinalDiffusion() const { return fLongitudinalDiffusion; }
49  double TransverseDiffusion() const { return fTransverseDiffusion; }
50  double ElectronClusterSize() const { return fElectronClusterSize; }
52  const std::vector<std::string>& EnabledPhysics() const { return fEnabledPhysics; }
53  int K0Bias() const { return fK0Bias; }
54  int MNXBias() const { return fXBias; }
55  int MNXSBias() const { return fXSBias; }
57  bool DisableWireplanes() const { return fDisableWireplanes; }
58  const std::vector<unsigned short int> SkipWireSignalInTPCs() const { return fSkipWireSignalInTPCs;}
59  const std::string IonAndScintCalculator() const { return fIonAndScintCalculator; }
60  const std::vector<std::string> OpticalParamVolumes() const { return fOpticalParamVolumes; }
61  const std::vector<std::string> OpticalParamModels() const { return fOpticalParamModels; }
62  const std::vector<int> OpticalParamOrientations() const { return fOpticalParamOrientations;}
63  const std::vector<std::vector<std::vector<double>>> OpticalParamParameters() const{return fOpticalParamParameters; }
64  bool UseLitePhotons() const { return fLitePhotons; }
65 
68  bool NoPhotonPropagation() const { return fNoPhotonPropagation; }
69 
70  private:
73  bool fStoreTrajectories;
75  bool fDrawNeutrals;
79  double fLongitudinalDiffusion;
85  std::vector<std::string> fEnabledPhysics;
86  int fK0Bias;
87  int fXSBias;
89  int fXBias;
92  bool fDisableWireplanes;
94  std::vector<unsigned short int> fSkipWireSignalInTPCs;
97  std::string fIonAndScintCalculator;
98  std::vector<std::string> fOpticalParamVolumes;
102  std::vector<std::string> fOpticalParamModels;
104  std::vector<int> fOpticalParamOrientations;
105  std::vector<std::vector<std::vector<double> > > fOpticalParamParameters;
107 
111 
113  //size_t fInitialSimEnergyDepositSize; ///< reserve size for the edep collection in LArG4
116  };
117 }
118 
119 
121 #endif
std::vector< std::string > fOpticalParamVolumes
bool KeepEMShowerDaughters() const
double VisualizationEnergyCut() const
bool fDrawNeutrals
depricated
const std::vector< std::string > & EnabledPhysics() const
LArG4Parameters(fhicl::ParameterSet const &pset, art::ActivityRegistry &reg)
std::vector< int > fOpticalParamOrientations
std::string fIonAndScintCalculator
double ModBoxA() const
double fVisualizationEnergyCut
depricated, GeV
const std::vector< int > OpticalParamOrientations() const
const std::vector< std::string > OpticalParamModels() const
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.
bool UseModBoxRecomb() const
const std::string IonAndScintCalculator() const
#define DECLARE_ART_SERVICE(svc, scope)
Definition: ServiceMacros.h:91
bool NoPhotonPropagation() const
int fOpVerbosity
Verbosity of optical simulation - soon to be depricated.
bool StoreTrajectories() const
bool fNoElectronPropagation
specifically prevents electron propagation
void reconfigure(fhicl::ParameterSet const &pset)
double TransverseDiffusion() const
constexpr double kGeVToElectrons
23.6eV per ion pair, 1e9 eV/GeV
bool NoElectronPropagation() const
const std::vector< std::vector< std::vector< double > > > OpticalParamParameters() const
constexpr double kModBoxB
Modified Box Beta in g/(MeV cm²)*kV/cm.
double fTransverseDiffusion
Amount of diffusion in the transverse direction, cm^2/ns.
double ElectronClusterSize() const
bool FillSimEnergyDeposits() const
int OpVerbosity() const
double RecombA() const
Monte Carlo Simulation.
const std::vector< unsigned short int > SkipWireSignalInTPCs() const
double ParticleKineticEnergyCut() const
bool UseCustomPhysics() const
bool fUseModBoxRecomb
Use Modified Box model recombination instead of Birks.
const std::vector< std::string > OpticalParamVolumes() const
int MinNumberOfElCluster() const
double ModBoxB() const
int fMinNumberOfElCluster
Minimum number of electron clusters.
double Recombk() const
constexpr double kRecombk
bool fNoPhotonPropagation
specifically prevents photon propagation in opfast
std::vector< std::string > fOpticalParamModels
List of names of those models.
constexpr double kRecombA
A constant.
double LongitudinalDiffusion() const
constexpr double kModBoxA
Modified Box Alpha.
double GeVToElectrons() const
bool UseLitePhotons() const
bool DisableWireplanes() const
bool DrawNeutrals() const
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.