SND@LHC Software
Loading...
Searching...
No Matches
TimeDet.h
Go to the documentation of this file.
1#ifndef TIMEDET_H
2#define TIMEDET_H
3
4#include "FairDetector.h"
5
6#include "TVector3.h"
7#include "TLorentzVector.h"
8
9class TimeDetPoint;
10class FairVolume;
11class TClonesArray;
12
13
14class TimeDet: public FairDetector
15{
16
17 public:
18
23 TimeDet(const char* Name, Bool_t Active);
24
26 TimeDet();
27
29 virtual ~TimeDet();
30
32 virtual void Initialize();
33
37 virtual Bool_t ProcessHits( FairVolume* v=0);
38
40 virtual void Register();
41
43 virtual TClonesArray* GetCollection(Int_t iColl) const;
44
46 virtual void Reset();
47
49 void SetZposition(Double_t z) {fzPos = z;}
50 void SetBarZspacing(Double_t row, Double_t column)
51 {
52 fdzBarRow = row;
53 fdzBarCol = column;
54 }
55 void SetBarZ(Double_t dz) {fzBar = dz;}
56 void SetSizeX(Double_t x) {fxSize = x;}
57 void SetSizeY(Double_t y) {fySize = y;}
58
59 double GetXCol(int ic) const;
60 double GetYRow(int ir) const;
61 void GetBarRowCol(int ib,int &irow,int& icol) const;
62 double GetZBar(int ir,int ic) const;
63
65 void ConstructGeometry();
66
70 TimeDetPoint* AddHit(Int_t trackID, Int_t detID,
71 TVector3 pos, TVector3 mom,
72 Double_t time, Double_t length,
73 Double_t eLoss, Int_t pdgCode,TVector3 Lpos, TVector3 Lmom);
74
75 virtual void EndOfEvent();
76 virtual void FinishPrimary() {;}
77 virtual void FinishRun() {;}
78 virtual void BeginPrimary() {;}
79 virtual void PostTrack() {;}
80 virtual void PreTrack() {;}
81 virtual void BeginEvent() {;}
82
83
84 private:
85
87 Int_t fTrackID;
88 Int_t fVolumeID;
89 TLorentzVector fPos;
90 TLorentzVector fMom;
91 Double_t fTime;
92 Double_t fLength;
93 Double_t fELoss;
94
96 Double_t fzPos;
97
98 Double_t fxSize;
99 Double_t fySize;
100
101 Double_t fxBar;
102 Double_t fyBar;
103 Double_t fzBar;
104
105 Double_t fdzBarCol;
106 Double_t fdzBarRow;
107
108 Int_t fNCol;
109 Int_t fNRow;
110
111 Double_t fxCenter;
112 Double_t fyCenter;
113
114 Int_t fNBars;
115 Double_t fxOv;
116 Double_t fyOv;
117
118 TGeoVolume* fDetector; // Timing detector object
119
122
125 Int_t InitMedium(const char* name);
126
127
128 ClassDef(TimeDet,3)
129};
130
131#endif //TIMEDET_H
TGeoVolume * fDetector
Overlap along y.
Definition TimeDet.h:118
virtual void BeginPrimary()
Definition TimeDet.h:78
Double_t fxSize
z-position of veto station
Definition TimeDet.h:98
TimeDet(const TimeDet &)
virtual void PreTrack()
Definition TimeDet.h:80
Double_t fxBar
height of the detector
Definition TimeDet.h:101
virtual void FinishRun()
Definition TimeDet.h:77
Double_t fTime
momentum at entrance
Definition TimeDet.h:91
Double_t fyOv
Overlap along x.
Definition TimeDet.h:116
virtual void Register()
Definition TimeDet.cxx:214
Double_t fxCenter
Number of rows.
Definition TimeDet.h:111
void GetBarRowCol(int ib, int &irow, int &icol) const
Definition TimeDet.cxx:296
double GetXCol(int ic) const
Definition TimeDet.cxx:304
Int_t fNRow
Number of columns.
Definition TimeDet.h:109
Int_t fNBars
y-position of the detector center
Definition TimeDet.h:114
void SetZposition(Double_t z)
Definition TimeDet.h:49
Double_t fdzBarRow
z-distance between columns
Definition TimeDet.h:106
TimeDetPoint * AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss, Int_t pdgCode, TVector3 Lpos, TVector3 Lmom)
Definition TimeDet.cxx:283
void ConstructGeometry()
Definition TimeDet.cxx:244
TimeDet & operator=(const TimeDet &)
Int_t InitMedium(const char *name)
Definition TimeDet.cxx:122
Double_t fySize
width of the detector
Definition TimeDet.h:99
Double_t fyBar
length of the bar
Definition TimeDet.h:102
Double_t fzPos
energy loss
Definition TimeDet.h:96
void SetSizeY(Double_t y)
Definition TimeDet.h:57
Double_t fyCenter
x-position of the detector center
Definition TimeDet.h:112
Double_t fELoss
length
Definition TimeDet.h:93
Int_t fTrackID
Definition TimeDet.h:87
void SetBarZ(Double_t dz)
Definition TimeDet.h:55
virtual TClonesArray * GetCollection(Int_t iColl) const
Definition TimeDet.cxx:229
Double_t fzBar
width of the bar
Definition TimeDet.h:103
TClonesArray * fTimeDetPointCollection
Definition TimeDet.h:121
Int_t fNCol
z-distance between rows
Definition TimeDet.h:108
virtual void Reset()
Definition TimeDet.cxx:237
virtual void FinishPrimary()
Definition TimeDet.h:76
Int_t fVolumeID
track index
Definition TimeDet.h:88
virtual void BeginEvent()
Definition TimeDet.h:81
TLorentzVector fMom
position at entrance
Definition TimeDet.h:90
Double_t fdzBarCol
depth of the bar
Definition TimeDet.h:105
double GetZBar(int ir, int ic) const
Definition TimeDet.cxx:320
virtual Bool_t ProcessHits(FairVolume *v=0)
Definition TimeDet.cxx:148
virtual ~TimeDet()
Definition TimeDet.cxx:112
virtual void EndOfEvent()
Definition TimeDet.cxx:207
void SetSizeX(Double_t x)
Definition TimeDet.h:56
void SetBarZspacing(Double_t row, Double_t column)
Definition TimeDet.h:50
TimeDet()
Definition TimeDet.cxx:39
TLorentzVector fPos
volume id
Definition TimeDet.h:89
virtual void PostTrack()
Definition TimeDet.h:79
virtual void Initialize()
Definition TimeDet.cxx:106
Double_t fLength
time
Definition TimeDet.h:92
Double_t fxOv
Number of bars.
Definition TimeDet.h:115
double GetYRow(int ir) const
Definition TimeDet.cxx:312