PandaRoot
PndRichPDHit.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PndRichPDHit header file -----
3 // ----- Created 01/11/14 by Konstantin Beloborodov -----
4 // ----- -----
5 // -------------------------------------------------------------------------
6 
7 #ifndef PNDRICHPDHIT_H
8 #define PNDRICHPDHIT_H
9 
10 #include "TVector3.h"
11 #include "FairHit.h"
12 
13 class PndRichPDHit : public FairHit {
14 
15  public:
17  PndRichPDHit();
18 
19  PndRichPDHit(Int_t index, Int_t detID, Int_t sensorId, TVector3 &pos, TVector3 &dpos, Double_t time, Double_t timeThreshold);
20 
22  /* PndRichPDHit(const PndRichPDHit& hit) : FairHit(hit),
23  fSensorId(hit.fSensorId),
24  fTime(hit.fTime),
25  fTimeThreshold(hit.fTimeThreshold)
26  { *this = hit; };
27  */
29  virtual ~PndRichPDHit();
30 
32  virtual void Print(const Option_t *opt = "") const;
33 
37  virtual Double_t GetTime() { return fTime; }
38  virtual Double_t GetTimeThreshold() { return fTimeThreshold; }
39  virtual Int_t GetRefIndex() { return fRefIndex; }
40  TVector3 GetPosition() const { return TVector3(fX, fY, fZ); }
41  Int_t GetSensorId() const { return fSensorId; }
42  // std::vector<Int_t> GetIndices() const { return fIndex;}
43 
44  /* void AddIndex(int index)
45  {
46  fIndex.push_back(index);
47  AddLink(FairLink("PndRichPDHit", index));
48  }
49 
50  void AddIndex(std::vector<Int_t> index)
51  {
52  fIndex = index;
53  AddLinks(FairMultiLinkedData("PndRichPDHit", index));
54  }
55 
56  virtual bool equal(FairTimeStamp* data){
57  PndRichPDHit* hit = dynamic_cast <PndRichPDHit*> (data);
58  if (hit != 0){
59  if (fSensorId == hit->GetSensorId()) return true;
60  }
61  return false;
62  }
63 
64  virtual bool operator<(const PndRichPDHit& hit) const{
65  if (fSensorId < hit.GetSensorId()) return true;
66  return false;
67  }
68  virtual bool operator>(const PndRichPDHit& hit) const{
69  if (fSensorId > hit.GetSensorId()) return true;
70  return false;
71  }
72  virtual bool operator==(const PndRichPDHit& hit) const{
73  if (fSensorId == hit.GetSensorId()) return true;
74  return false;
75  }
76  */
77  protected:
78  // std::vector<Int_t> fIndex; // indice of mc points contributing to this digi
79  Int_t fIndex;
80  Int_t fSensorId;
81  Int_t fRefIndex;
82  Double_t fX, fY, fZ;
83  Double_t fTime, fTimeThreshold;
84 
85  ClassDef(PndRichPDHit, 1)
86 };
87 
88 #endif // PNDRICHPDHIT_H
Double_t fTime
Definition: PndRichPDHit.h:83
Int_t fSensorId
Definition: PndRichPDHit.h:80
virtual ~PndRichPDHit()
Int_t GetSensorId() const
Definition: PndRichPDHit.h:41
TVector3 GetPosition() const
Definition: PndRichPDHit.h:40
Double_t fTimeThreshold
Definition: PndRichPDHit.h:83
virtual void Print(const Option_t *opt="") const
Int_t fRefIndex
Definition: PndRichPDHit.h:81
virtual Double_t GetTime()
Definition: PndRichPDHit.h:37
Double_t fX
Definition: PndRichPDHit.h:82
Double_t fZ
Definition: PndRichPDHit.h:82
virtual Double_t GetTimeThreshold()
Definition: PndRichPDHit.h:38
virtual Int_t GetRefIndex()
Definition: PndRichPDHit.h:39
Double_t fY
Definition: PndRichPDHit.h:82