ScintTimeXeDoping.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 // Class: ScintTimeXeDoping
3 // Plugin Type: tool
4 // File: ScintTimeXeDoping_tool.cc ScintTimeXeDoping.h
5 // Description:
6 // Generate a random number for timing of LAr scintillation
7 // Oct. 8 by Mu Wei
8 ////////////////////////////////////////////////////////////////////////
9 #ifndef ScintTimeXeDoping_H
10 #define ScintTimeXeDoping_H
11 
13 
15 #include "fhiclcpp/ParameterSet.h"
16 
17 // Random number engine
18 #include "CLHEP/Random/RandFlat.h"
19 
20 namespace phot
21 {
23  {
24  public:
25  explicit ScintTimeXeDoping(fhicl::ParameterSet const& pset);
26  void GenScintTime(bool is_fast, CLHEP::HepRandomEngine& engine) ;
27 
28  private:
29  //dla int fLogLevel;
30 
31  // From fhicl configuration
32  double fXeConcentration; // ppm
33  double fArSingletTime; // ns
34  double fArTripletTime; // ns
35  double fXe150nmTime; // ns ArXe* 150 nm decay time
36  double fTauAX; // ns ArXe* formation time
37  double fTauXX; // ns XeXe* formation time
38  double fTauN2; // ns N2 quenching time
39 
40  // Calculated during setup
41  double fTauTAs;
42  double fTauTAt;
43  double fTauTX;
44  double fMaxProbs;
45  double fMaxProbt;
46  double fMaxTs;
47  double fMaxTt;
48 
49  // utility functions
50  double exp_diff(double t, double tau1, double tau2) const;
51  double singlet_distro(double t) const { return exp_diff(t, fTauTAs, fTauTX); };
52  double triplet_distro(double t) const { return exp_diff(t, fTauTAt, fTauTX); };
53  };
54 }
55 #endif
ScintTimeXeDoping(fhicl::ParameterSet const &pset)
double singlet_distro(double t) const
G4double tau1[100]
Definition: G4S2Light.cc:61
double triplet_distro(double t) const
General LArSoft Utilities.
void GenScintTime(bool is_fast, CLHEP::HepRandomEngine &engine)
double exp_diff(double t, double tau1, double tau2) const