PandaRoot
PndDiscSensorMCPoint.h
Go to the documentation of this file.
1 //-------------------------------------------------------------------------
2 // Author: Oliver Merle (Oliver.Merle@exp2.physik.uni-giessen.de)
3 // Changes: Mustafa Schmidt (Mustafa.A.Schmidt@physik.uni-giessen.de)
4 // Date: 30.11.2015
5 // Description: Information of photons
6 //-------------------------------------------------------------------------
7 
8 #ifndef PNDDISCSENSORMCPOINT_HH
9 #define PNDDISCSENSORMCPOINT_HH
10 
11 // Fairroot / PROOT headers
12 #include "FairMCPoint.h"
13 
14 // cpp headers
15 #include <math.h>
16 
17 class PndDiscSensorMCPoint : public FairMCPoint {
18  public:
20 
21  PndDiscSensorMCPoint(Int_t track_id, // base
22  // Int_t event_id, // in FairMCEventHeader
23  Int_t det_id, // base
24  Int_t volume_id, // -- use some kind of volume identifier here (or just sensor copy number?)
25  Double_t const &internal_reflection_angle, // may be 0.0 if none registered (e.g. not created in radiator)
26  TVector3 const &pos_in, // base
27  TVector3 const &mom_in, // base
28  Double_t const &total_tof, // base
29  Double_t const &total_length, // base
30  Double_t const &energy_loss, // base
31  Double_t const &track_start_time // global time of track creation
32  );
33 
34  virtual ~PndDiscSensorMCPoint();
35 
36  virtual void Print(const Option_t *opt = nullptr) const;
37  const Double_t &GetTotalReflectionAngle() { return internal_reflection_angle; }
38  Double_t ComputeWavelenght() { return 1.239841939E-6 / sqrt(fPx * fPx + fPy * fPy + fPz * fPz); }
39  Double_t ComputeTrackTof() { return fTime - track_start_time; }
40 
41  Int_t volume_id;
43  Double_t track_start_time;
44  Int_t my_track_id;
45 
46  TVector3 photon_entering_pos; // position of photon entering optics
47  TVector3 photon_entering_momentum; // momentum vector of photon entering optics
48 
49  ClassDef(PndDiscSensorMCPoint, 4)
50 };
51 
52 #endif // PNDDISCSENSORMCPOINT_HH
friend F32vec4 sqrt(const F32vec4 &a)
Definition: P4_F32vec4.h:28
virtual ~PndDiscSensorMCPoint()
const Double_t & GetTotalReflectionAngle()
FairMCPoint forces the implementation.
virtual void Print(const Option_t *opt=nullptr) const