PandaRoot
PndRichPDHit.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 // -------------------------------------------------------------------------
14 // ----- PndRichPDHit header file -----
15 // ----- Created 01/11/14 by Konstantin Beloborodov -----
16 // ----- -----
17 // -------------------------------------------------------------------------
18 
19 #ifndef PNDRICHPDHIT_H
20 #define PNDRICHPDHIT_H
21 
22 #include "TVector3.h"
23 #include "FairHit.h"
24 
25 class PndRichPDHit : public FairHit {
26 
27  public:
29  PndRichPDHit();
30 
31  PndRichPDHit(Int_t index, Int_t detID, Int_t sensorId, TVector3 &pos, TVector3 &dpos, Double_t time, Double_t timeThreshold);
32 
34  /* PndRichPDHit(const PndRichPDHit& hit) : FairHit(hit),
35  fSensorId(hit.fSensorId),
36  fTime(hit.fTime),
37  fTimeThreshold(hit.fTimeThreshold)
38  { *this = hit; };
39  */
41  virtual ~PndRichPDHit();
42 
44  virtual void Print(const Option_t *opt = "") const;
45 
49  virtual Double_t GetTime() { return fTime; }
50  virtual Double_t GetTimeThreshold() { return fTimeThreshold; }
51  virtual Int_t GetRefIndex() { return fRefIndex; }
52  TVector3 GetPosition() const { return TVector3(fX, fY, fZ); }
53  Int_t GetSensorId() const { return fSensorId; }
54  // std::vector<Int_t> GetIndices() const { return fIndex;}
55 
56  /* void AddIndex(int index)
57  {
58  fIndex.push_back(index);
59  AddLink(FairLink("PndRichPDHit", index));
60  }
61 
62  void AddIndex(std::vector<Int_t> index)
63  {
64  fIndex = index;
65  AddLinks(FairMultiLinkedData("PndRichPDHit", index));
66  }
67 
68  virtual bool equal(FairTimeStamp* data){
69  PndRichPDHit* hit = dynamic_cast <PndRichPDHit*> (data);
70  if (hit != 0){
71  if (fSensorId == hit->GetSensorId()) return true;
72  }
73  return false;
74  }
75 
76  virtual bool operator<(const PndRichPDHit& hit) const{
77  if (fSensorId < hit.GetSensorId()) return true;
78  return false;
79  }
80  virtual bool operator>(const PndRichPDHit& hit) const{
81  if (fSensorId > hit.GetSensorId()) return true;
82  return false;
83  }
84  virtual bool operator==(const PndRichPDHit& hit) const{
85  if (fSensorId == hit.GetSensorId()) return true;
86  return false;
87  }
88  */
89  protected:
90  // std::vector<Int_t> fIndex; // indice of mc points contributing to this digi
91  Int_t fIndex;
92  Int_t fSensorId;
93  Int_t fRefIndex;
94  Double_t fX, fY, fZ;
95  Double_t fTime, fTimeThreshold;
96 
97  ClassDef(PndRichPDHit, 1)
98 };
99 
100 #endif // PNDRICHPDHIT_H
Double_t fTime
Definition: PndRichPDHit.h:95
Int_t fSensorId
Definition: PndRichPDHit.h:92
virtual ~PndRichPDHit()
Int_t GetSensorId() const
Definition: PndRichPDHit.h:53
TVector3 GetPosition() const
Definition: PndRichPDHit.h:52
Double_t fTimeThreshold
Definition: PndRichPDHit.h:95
virtual void Print(const Option_t *opt="") const
Int_t fRefIndex
Definition: PndRichPDHit.h:93
virtual Double_t GetTime()
Definition: PndRichPDHit.h:49
Double_t fX
Definition: PndRichPDHit.h:94
Double_t fZ
Definition: PndRichPDHit.h:94
virtual Double_t GetTimeThreshold()
Definition: PndRichPDHit.h:50
virtual Int_t GetRefIndex()
Definition: PndRichPDHit.h:51
Double_t fY
Definition: PndRichPDHit.h:94