LArSoft  v07_13_02
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 #include <iostream>
17 
18 #ifndef LArG4Parameters_h
19 #define LArG4Parameters_h 1
20 
21 #include "fhiclcpp/ParameterSet.h"
25 
27 
28 namespace sim {
29 
31  public:
34 
35  void reconfigure(fhicl::ParameterSet const& pset);
36 
37  int OpVerbosity() const { return fOpVerbosity; }
39  bool StoreTrajectories() const { return fStoreTrajectories; }
40  bool DrawNeutrals() const { return fDrawNeutrals; }
42  bool UseCustomPhysics() const { return fUseCustomPhysics; }
43  double RecombA() const { return fRecombA; }
44  double Recombk() const { return fRecombk; }
45  double ModBoxA() const { return fModBoxA; }
46  double ModBoxB() const { return fModBoxB; }
47  bool UseModBoxRecomb() const { return fUseModBoxRecomb; }
48  double GeVToElectrons() const { return util::kGeVToElectrons; }
49  double LongitudinalDiffusion() const { return fLongitudinalDiffusion; }
50  double TransverseDiffusion() const { return fTransverseDiffusion; }
51  double ElectronClusterSize() const { return fElectronClusterSize; }
53  const std::vector<std::string>& EnabledPhysics() const { return fEnabledPhysics; }
54  int K0Bias() const { return fK0Bias; }
55  int MNXBias() const { return fXBias; }
56  int MNXSBias() const { return fXSBias; }
58  bool DisableWireplanes() const { return fDisableWireplanes; }
59  const std::vector<unsigned short int> SkipWireSignalInTPCs() const { return fSkipWireSignalInTPCs;}
60  const std::string IonAndScintCalculator() const { return fIonAndScintCalculator; }
61  const std::vector<std::string> OpticalParamVolumes() const { return fOpticalParamVolumes; }
62  const std::vector<std::string> OpticalParamModels() const { return fOpticalParamModels; }
63  const std::vector<int> OpticalParamOrientations() const { return fOpticalParamOrientations;}
64  const std::vector<std::vector<std::vector<double>>> OpticalParamParameters() const{return fOpticalParamParameters; }
65  bool UseLitePhotons() const { return fLitePhotons; }
66 
69  bool NoPhotonPropagation() const { return fNoPhotonPropagation; }
70 
71  private:
74  bool fStoreTrajectories;
76  bool fDrawNeutrals;
80  double fLongitudinalDiffusion;
86  std::vector<std::string> fEnabledPhysics;
87  int fK0Bias;
88  int fXSBias;
90  int fXBias;
93  bool fDisableWireplanes;
95  std::vector<unsigned short int> fSkipWireSignalInTPCs;
97  double fRecombA;
98  double fRecombk;
99  double fModBoxA;
100  double fModBoxB;
103  std::vector<std::string> fOpticalParamVolumes;
107  std::vector<std::string> fOpticalParamModels;
109  std::vector<int> fOpticalParamOrientations;
110  std::vector<std::vector<std::vector<double> > > fOpticalParamParameters;
112 
116 
118  //size_t fInitialSimEnergyDepositSize; ///< reserve size for the edep collection in LArG4
121  };
122 }
123 
124 
126 #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
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.
bool UseModBoxRecomb() const
double fRecombA
Possibly override the RecombA parameter.
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
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
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.
double LongitudinalDiffusion() const
double fModBoxA
Possibly override the ModBoxA parameter.
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.