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

Ratpac-two: /home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/core/include/RAT/GLG4HitPMT.hh Source File
Ratpac-two
GLG4HitPMT.hh
Go to the documentation of this file.
1 #ifndef __GLG4HitPMT_hh__
2 #define __GLG4HitPMT_hh__
12 #include <cstddef>
13 #include <vector>
14 
15 #include "GLG4HitPhoton.hh"
16 
34 #include <vector>
35 
36 class GLG4HitPMT {
37  public:
38  GLG4HitPMT(int ID);
39  ~GLG4HitPMT();
40 
41  void Clear();
43  void SortTimeAscending();
44 
45  int GetID() const { return fID; }
46  int GetEntries() const { return fPhotons.size(); }
47  GLG4HitPhoton *GetPhoton(int i) const { return fPhotons[i]; }
48 
49  void Print(std::ostream &, bool fullDetailsMode = false);
50 
52  static const double kMergeTime;
53 
54  private:
55  int fID;
56  std::vector<GLG4HitPhoton *> fPhotons;
57 };
58 
61 inline bool Compare_HitPMTPtr_TimeAscending(const GLG4HitPMT *a, const GLG4HitPMT *b) {
62  // put empties at the end
63  if (!a || a->GetEntries() <= 0) return false;
64  if (!b || b->GetEntries() <= 0) return true;
65  return a->GetPhoton(0)->GetTime() < b->GetPhoton(0)->GetTime();
66 }
67 
68 #endif // __GLG4HitPMT_hh__
bool Compare_HitPMTPtr_TimeAscending(const GLG4HitPMT *a, const GLG4HitPMT *b)
Definition: GLG4HitPMT.hh:61
Definition: GLG4HitPMT.hh:36
void Clear()
Definition: GLG4HitPMT.cc:37
void Print(std::ostream &, bool fullDetailsMode=false)
print out HitPhotons.
Definition: GLG4HitPMT.cc:115
void DetectPhoton(GLG4HitPhoton *)
Definition: GLG4HitPMT.cc:71
static const size_t kApproxMaxIndividualHitPhotonsPerPMT
Definition: GLG4HitPMT.hh:51
static const double kMergeTime
hit merging window in ns
Definition: GLG4HitPMT.hh:52
void SortTimeAscending()
sort HitPhotons so earliest are first
Definition: GLG4HitPMT.cc:110
Definition: GLG4HitPhoton.hh:30