/home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/gen/include/RAT/AmBeSource.hh Source File

Ratpac-two: /home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/gen/include/RAT/AmBeSource.hh Source File
Ratpac-two
AmBeSource.hh
Go to the documentation of this file.
1 
6 #ifndef __RAT_AmBeSource__
7 #define __RAT_AmBeSource__
8 
9 #include <CLHEP/Vector/LorentzVector.h>
10 
11 #include <cmath>
12 #include <iostream>
13 #include <vector>
14 
24 namespace RAT {
25 
26 class AmBeSource {
27  public:
29  AmBeSource();
30 
32  ~AmBeSource();
33 
36 
38  AmBeSource &operator=(const AmBeSource &rhs);
39 
41  int GetNumNeutron() const { return Nneutron; }
42 
44  int GetNumGamma() const { return Ngamma; }
45 
49  CLHEP::HepLorentzVector GetAmBeNeutronMomentum(int n) const { return neutronE[n]; }
50  double GetAmBeNeutronTime(int n) const { return Tneutron[n]; }
51 
55  CLHEP::HepLorentzVector GetAmBeGammaMomentum(int n) const { return gammaE[n]; }
56  double GetAmBeGammaTime(int n) const { return Tgamma[n]; }
57 
58  private:
59  static const int maxNeutron = 1;
60  static const int maxGamma = 1;
61  int Nneutron, Ngamma;
62 
67  std::vector<CLHEP::HepLorentzVector> neutronE;
68  std::vector<double> Tneutron;
69 
74  std::vector<CLHEP::HepLorentzVector> gammaE;
75  std::vector<double> Tgamma;
76 
77  // G4 particle definitions.
78  static double massNeutron;
79 
82  static double AmBeNeutronSpectrum(const double &x);
83 };
84 
85 } // namespace RAT
86 
87 #endif
Definition: AmBeSource.hh:26
int GetNumGamma() const
Definition: AmBeSource.hh:44
int GetNumNeutron() const
Definition: AmBeSource.hh:41
CLHEP::HepLorentzVector GetAmBeGammaMomentum(int n) const
Definition: AmBeSource.hh:55
~AmBeSource()
Definition: AmBeSource.cc:166
CLHEP::HepLorentzVector GetAmBeNeutronMomentum(int n) const
Definition: AmBeSource.hh:49
AmBeSource & operator=(const AmBeSource &rhs)
Definition: AmBeSource.cc:177
AmBeSource()
Definition: AmBeSource.cc:32
Definition: CCCrossSecMessenger.hh:29