FairRoot/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 
8 #ifndef PNDRICHPHOTON_H
9 #define PNDRICHPHOTON_H
10 
11 #include "FairHit.h"
12 #include "PndRichMirrorSegment.h"
13 #include "PndRichPDHit.h"
14 #include "PndRichBarPoint.h"
15 #include <vector>
16 
18 class PndRichPDHit;
19 
21 
22 public:
23 
25  PndRichPhoton();
26 
28  Double_t phi,
29  UInt_t tmask);
30 
31 
33  PndRichPhoton(const PndRichPhoton& photon) :
34  fPDHit(photon.fPDHit),
35  fDTime(photon.fDTime),
36  fTime(photon.fTime),
37  fHitTime(photon.fHitTime),
38  fTheta(photon.fTheta),
39  fPhi(photon.fPhi),
40  fTMask(photon.fTMask),
41  fMirrors(photon.fMirrors),
42  fHitPosition(photon.fHitPosition),
48  fLength(photon.fLength),
49  fTrack(photon.fTrack)
50  { };
51  //{ *this = photon; };
52 
54  {
55  if (this != &photon)
56  {
57  fPDHit = photon.fPDHit;
58  fDTime = photon.fDTime;
59  fTime = photon.fTime;
60  fHitTime = photon.fHitTime;
61  fTheta = photon.fTheta;
62  fPhi = photon.fPhi;
63  fTMask = photon.fTMask;
64  fMirrors = photon.fMirrors;
65  fHitPosition = photon.fHitPosition;
71  fLength = photon.fLength;
72  fTrack = photon.fTrack;
73  }
74  return *this;
75  };
76 
78  virtual ~PndRichPhoton();
79 
81  virtual void Print(const Option_t* opt ="") const;
82 
87  virtual bool TrackCalc ();
88  virtual Double_t GetLength();
89  virtual Double_t GetTime();
90  virtual Double_t GetTheta();
91  virtual Double_t GetPhi();
92  virtual UInt_t GetTMask() {return fTMask;}
93  virtual std::vector<PndRichMirrorSegment*> GetMirror() {return fMirrors;}
94  virtual TVector3 GetHitPos() {return fHitPosition;}
95  virtual std::vector<TVector3> GetMirrRefPos() {return fMirrRefPosition;}
96  virtual PndRichBarPoint* GetTrack() {return fTrack;}
97 
98  void SetLength( Double_t length ) { fLength = length; }
99  void SetDTime( Double_t time ) { fDTime = time; }
100  void SetTime( Double_t time ) { fTime = time; }
101  void SetTheta( Double_t theta ) { fTheta = theta; }
102  void SetPhi( Double_t phi ) { fPhi = phi; }
103  void SetPDHit ( PndRichPDHit* hit ) { fPDHit = hit; }
104  void SetHitTime ( Double_t hitTime ) { fHitTime = hitTime; }
105  void SetHitPos ( TVector3 hit ) { fHitPosition = hit; }
106  void SetTrackPos ( TVector3 pos ) { fTrackPosition = pos; }
107  void SetTrackDir ( TVector3 dir ) { fTrackDirection = dir; }
109  void SetMirrRefPos ( std::vector<TVector3> pos ) { fMirrRefPosition = pos; }
110  void SetMirror ( std::vector<PndRichMirrorSegment*> mirrors ) { fMirrors = mirrors; }
111 
112  protected:
113 
119  UInt_t fTMask;
120  std::vector<PndRichMirrorSegment*> fMirrors;
121  TVector3 fHitPosition;
122  TVector3 fTrackPosition;
123  TVector3 fTrackDirection;
126  std::vector<TVector3> fMirrRefPosition;
129 
130  ClassDef(PndRichPhoton,1)
131 };
132 
133 #endif //PNDRICHPHOTON_H
TVector3 pos
void SetMirror(std::vector< PndRichMirrorSegment * > mirrors)
virtual Double_t GetTime()
virtual std::vector< TVector3 > GetMirrRefPos()
Definition: PndRichPhoton.h:95
void SetTrack(PndRichBarPoint *track)
void SetPhi(Double_t phi)
virtual std::vector< PndRichMirrorSegment * > GetMirror()
Definition: PndRichPhoton.h:93
void SetTrackDir(TVector3 dir)
void SetTrackPos(TVector3 pos)
virtual Double_t GetLength()
PndRichBarPoint * fTrack
std::vector< PndRichMirrorSegment * > fMirrors
virtual void Print(const Option_t *opt="") const
TVector3 fTrackDirection
void SetHitPos(TVector3 hit)
void SetTheta(Double_t theta)
void SetDTime(Double_t time)
Definition: PndRichPhoton.h:99
virtual UInt_t GetTMask()
Definition: PndRichPhoton.h:92
Double_t fTime
PndRichPhoton & operator=(const PndRichPhoton &photon)
Definition: PndRichPhoton.h:53
virtual Double_t GetPhi()
Double_t
Double_t fTheta
void SetHitTime(Double_t hitTime)
PndMCTrack * track
Definition: anaLmdCluster.C:89
Double_t fHitTime
void SetPDHit(PndRichPDHit *hit)
Double_t fDTime
void SetMirrRefPos(std::vector< TVector3 > pos)
TVector3 fTrackPosition
void SetTime(Double_t time)
virtual Double_t GetTheta()
std::vector< TVector3 > fMirrRefPosition
TVector3 fTrackDirectionOld
Double_t fLength
void SetLength(Double_t length)
Definition: PndRichPhoton.h:98
virtual TVector3 GetHitPos()
Definition: PndRichPhoton.h:94
virtual bool TrackCalc()
PndSdsMCPoint * hit
Definition: anasim.C:70
PndRichPhoton(const PndRichPhoton &photon)
Definition: PndRichPhoton.h:33
TVector3 fTrackPositionOld
TVector3 fHitPosition
PndRichPDHit * fPDHit
virtual ~PndRichPhoton()
virtual PndRichBarPoint * GetTrack()
Definition: PndRichPhoton.h:96