/home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/ds/include/RAT/DS/MCSummary.hh Source File

Ratpac-two: /home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/ds/include/RAT/DS/MCSummary.hh Source File
Ratpac-two
MCSummary.hh
1 
11 #ifndef __RAT_DS_MCSummary__
12 #define __RAT_DS_MCSummary__
13 
14 #include <TObject.h>
15 #include <TVector3.h>
16 
17 #include <map>
18 #include <string>
19 
20 namespace RAT {
21 namespace DS {
22 
23 typedef std::map<std::string, double> StringDoubleMap;
24 
25 class MCSummary : public TObject {
26  public:
27  MCSummary() : TObject() {}
28  virtual ~MCSummary() {}
29 
37  virtual const TVector3 &GetEnergyCentroid() const { return energyCentroid; }
38  virtual void SetEnergyCentroid(const TVector3 &_energyCentroid) { energyCentroid = _energyCentroid; }
39 
41  virtual const TVector3 &GetEnergyRMS() const { return energyRMS; }
42  virtual void SetEnergyRMS(const TVector3 &_energyRMS) { energyRMS = _energyRMS; }
43 
45  virtual Double_t GetEnergyLossByVolume(const char *volume) { return energyLoss[volume]; }
46  virtual void SetEnergyLossByVolume(StringDoubleMap _energyLoss) { energyLoss = _energyLoss; }
47 
49  virtual Double_t GetTotalScintEdep() const { return totalScintEdep; };
50  virtual void SetTotalScintEdep(Double_t _totalScintEdep) { totalScintEdep = _totalScintEdep; }
51 
58  virtual Double_t GetTotalScintEdepQuenched() const { return totalScintEdepQuenched; }
59  virtual void SetTotalScintEdepQuenched(Double_t _totalScintEdepQuenched) {
60  totalScintEdepQuenched = _totalScintEdepQuenched;
61  }
62 
64  virtual const TVector3 &GetTotalScintCentroid() const { return totalScintCentroid; }
65  virtual void SetTotalScintCentroid(const TVector3 &_totalScintCentroid) { totalScintCentroid = _totalScintCentroid; }
66 
68  virtual Double_t GetInitialScintTime() const { return initialScintTime; }
69  virtual void SetInitialScintTime(Double_t _initialScintTime) { initialScintTime = _initialScintTime; }
70 
72  virtual Int_t GetNumScintPhoton() const { return numScintPhoton; }
73  virtual void SetNumScintPhoton(Int_t _numScintPhoton) { numScintPhoton = _numScintPhoton; }
74 
76  virtual Int_t GetNumReemitPhoton() const { return numReemitPhoton; }
77  virtual void SetNumReemitPhoton(Int_t _numReemitPhoton) { numReemitPhoton = _numReemitPhoton; }
78 
80  virtual Int_t GetNumCerenkovPhoton() const { return numCerenkovPhoton; }
81  virtual void SetNumCerenkovPhoton(Int_t _numCerenkovPhoton) { numCerenkovPhoton = _numCerenkovPhoton; }
82 
83  virtual void SetPhotonInfo(std::vector<std::vector<double>> _photonComposition) {
84  photonComposition = _photonComposition;
85  }
86  virtual std::vector<std::vector<double>> GetPhotonInfo() const { return photonComposition; }
87  virtual double GetNPhotonsTriggers() const { return photonComposition.size(); }
88  virtual double GetCherenkovPhotons(int _trigger) const { return photonComposition[_trigger][2]; }
89  virtual double GetScintPhotons(int _trigger) const { return photonComposition[_trigger][0]; }
90  virtual double GetRemmitPhotons(int _trigger) const { return photonComposition[_trigger][1]; }
91  virtual double GetTimePhotons(int _trigger) const { return photonComposition[_trigger][3]; }
92 
93  virtual void SetPMTPhotonInfo(std::vector<std::vector<double>> _pmtHitVector) { pmtHitVector = _pmtHitVector; }
94 
95  virtual std::vector<std::vector<double>> GetPMTPhotonInfo() { return pmtHitVector; }
96 
97  ClassDef(MCSummary, 4);
98 
99  protected:
100  Int_t numScintPhoton;
101  Int_t numReemitPhoton;
102  Int_t numCerenkovPhoton;
103  Double_t totalScintEdep;
104  Double_t totalScintEdepQuenched;
105  Double_t initialScintTime;
106  TVector3 energyCentroid;
107  TVector3 energyRMS;
108  TVector3 opticalCentroid;
109  TVector3 opticalRMS;
110  TVector3 totalScintCentroid;
111  StringDoubleMap energyLoss;
112  std::vector<std::vector<double>> photonComposition;
113  std::vector<std::vector<double>> pmtHitVector;
114 };
115 
116 } // namespace DS
117 } // namespace RAT
118 
119 #endif
Definition: MCSummary.hh:25
virtual Double_t GetEnergyLossByVolume(const char *volume)
Definition: MCSummary.hh:45
virtual Double_t GetTotalScintEdepQuenched() const
Definition: MCSummary.hh:58
virtual Int_t GetNumScintPhoton() const
Definition: MCSummary.hh:72
virtual Double_t GetTotalScintEdep() const
Definition: MCSummary.hh:49
virtual const TVector3 & GetEnergyCentroid() const
Definition: MCSummary.hh:37
virtual Int_t GetNumReemitPhoton() const
Definition: MCSummary.hh:76
virtual Double_t GetInitialScintTime() const
Definition: MCSummary.hh:68
virtual const TVector3 & GetTotalScintCentroid() const
Definition: MCSummary.hh:64
virtual Int_t GetNumCerenkovPhoton() const
Definition: MCSummary.hh:80
virtual const TVector3 & GetEnergyRMS() const
Definition: MCSummary.hh:41
Definition: CCCrossSecMessenger.hh:29