PandaRoot
PndRichPhoton.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PndRichPhoton header file -----
3 // ----- Created 01/11/14 by Konstantin Beloborodov -----
4 // ----- -----
5 // -------------------------------------------------------------------------
6 
7 #ifndef PNDRICHPHOTON_H
8 #define PNDRICHPHOTON_H
9 
10 #include "FairHit.h"
11 #include "PndRichMirrorSegment.h"
12 #include "PndRichPDHit.h"
13 #include "PndRichBarPoint.h"
14 #include <vector>
15 
17 class PndRichPDHit;
18 
20 
21  public:
23  PndRichPhoton();
24 
25  PndRichPhoton(Double_t theta, Double_t phi, UInt_t tmask);
26 
29  : fPDHit(photon.fPDHit), fDTime(photon.fDTime), fTime(photon.fTime), fHitTime(photon.fHitTime), fTheta(photon.fTheta), fPhi(photon.fPhi), fTMask(photon.fTMask),
32  fTrack(photon.fTrack){};
33  //{ *this = photon; };
34 
36  {
37  if (this != &photon) {
38  fPDHit = photon.fPDHit;
39  fDTime = photon.fDTime;
40  fTime = photon.fTime;
41  fHitTime = photon.fHitTime;
42  fTheta = photon.fTheta;
43  fPhi = photon.fPhi;
44  fTMask = photon.fTMask;
45  fMirrors = photon.fMirrors;
46  fHitPosition = photon.fHitPosition;
52  fLength = photon.fLength;
53  fTrack = photon.fTrack;
54  }
55  return *this;
56  };
57 
59  virtual ~PndRichPhoton();
60 
62  virtual void Print(const Option_t *opt = "") const;
63 
67  virtual bool TrackCalc();
68  virtual Double_t GetLength();
69  virtual Double_t GetTime();
70  virtual Double_t GetTheta();
71  virtual Double_t GetPhi();
72  virtual UInt_t GetTMask() { return fTMask; }
73  virtual std::vector<PndRichMirrorSegment *> GetMirror() { return fMirrors; }
74  virtual TVector3 GetHitPos() { return fHitPosition; }
75  virtual std::vector<TVector3> GetMirrRefPos() { return fMirrRefPosition; }
76  virtual PndRichBarPoint *GetTrack() { return fTrack; }
77 
78  void SetLength(Double_t length) { fLength = length; }
79  void SetDTime(Double_t time) { fDTime = time; }
80  void SetTime(Double_t time) { fTime = time; }
81  void SetTheta(Double_t theta) { fTheta = theta; }
82  void SetPhi(Double_t phi) { fPhi = phi; }
83  void SetPDHit(PndRichPDHit *hit) { fPDHit = hit; }
84  void SetHitTime(Double_t hitTime) { fHitTime = hitTime; }
85  void SetHitPos(TVector3 hit) { fHitPosition = hit; }
86  void SetTrackPos(TVector3 pos) { fTrackPosition = pos; }
87  void SetTrackDir(TVector3 dir) { fTrackDirection = dir; }
88  void SetTrack(PndRichBarPoint *track) { fTrack = track; }
89  void SetMirrRefPos(std::vector<TVector3> pos) { fMirrRefPosition = pos; }
90  void SetMirror(std::vector<PndRichMirrorSegment *> mirrors) { fMirrors = mirrors; }
91 
92  protected:
94  Double_t fDTime;
95  Double_t fTime;
96  Double_t fHitTime;
97  Double_t fTheta, fPhi;
98  UInt_t fTMask;
99  std::vector<PndRichMirrorSegment *> fMirrors;
100  TVector3 fHitPosition;
101  TVector3 fTrackPosition;
102  TVector3 fTrackDirection;
105  std::vector<TVector3> fMirrRefPosition;
106  Double_t fLength;
108 
109  ClassDef(PndRichPhoton, 1)
110 };
111 
112 #endif // PNDRICHPHOTON_H
virtual std::vector< TVector3 > GetMirrRefPos()
Definition: PndRichPhoton.h:75
void SetTrack(PndRichBarPoint *track)
Definition: PndRichPhoton.h:88
void SetPhi(Double_t phi)
Definition: PndRichPhoton.h:82
void SetTrackDir(TVector3 dir)
Definition: PndRichPhoton.h:87
void SetTrackPos(TVector3 pos)
Definition: PndRichPhoton.h:86
virtual bool TrackCalc()
PndRichBarPoint * fTrack
TVector3 fTrackDirection
virtual std::vector< PndRichMirrorSegment * > GetMirror()
Definition: PndRichPhoton.h:73
void SetHitPos(TVector3 hit)
Definition: PndRichPhoton.h:85
Double_t fPhi
Definition: PndRichPhoton.h:97
void SetTheta(Double_t theta)
Definition: PndRichPhoton.h:81
void SetDTime(Double_t time)
Definition: PndRichPhoton.h:79
virtual UInt_t GetTMask()
Definition: PndRichPhoton.h:72
virtual void Print(const Option_t *opt="") const
Double_t fTime
Definition: PndRichPhoton.h:95
PndRichPhoton & operator=(const PndRichPhoton &photon)
Definition: PndRichPhoton.h:35
virtual Double_t GetTheta()
Double_t fTheta
Definition: PndRichPhoton.h:97
void SetHitTime(Double_t hitTime)
Definition: PndRichPhoton.h:84
Double_t fHitTime
Definition: PndRichPhoton.h:96
void SetPDHit(PndRichPDHit *hit)
Definition: PndRichPhoton.h:83
Double_t fDTime
Definition: PndRichPhoton.h:94
void SetMirrRefPos(std::vector< TVector3 > pos)
Definition: PndRichPhoton.h:89
void SetMirror(std::vector< PndRichMirrorSegment *> mirrors)
Definition: PndRichPhoton.h:90
TVector3 fTrackPosition
virtual Double_t GetPhi()
void SetTime(Double_t time)
Definition: PndRichPhoton.h:80
std::vector< TVector3 > fMirrRefPosition
virtual Double_t GetLength()
TVector3 fTrackDirectionOld
Double_t fLength
void SetLength(Double_t length)
Definition: PndRichPhoton.h:78
virtual TVector3 GetHitPos()
Definition: PndRichPhoton.h:74
virtual Double_t GetTime()
PndRichPhoton(const PndRichPhoton &photon)
Definition: PndRichPhoton.h:28
TVector3 fTrackPositionOld
TVector3 fHitPosition
PndRichPDHit * fPDHit
Definition: PndRichPhoton.h:93
virtual PndRichBarPoint * GetTrack()
Definition: PndRichPhoton.h:76
virtual ~PndRichPhoton()
std::vector< PndRichMirrorSegment * > fMirrors
Definition: PndRichPhoton.h:99