SND@LHC Software
Loading...
Searching...
No Matches
HPT.h
Go to the documentation of this file.
1#ifndef HPT_H
2#define HPT_H
3
4#include "FairModule.h" // for FairModule
5#include "FairDetector.h" // for FairDetector
6
7#include "Rtypes.h" // for ShipMuonShield::Class, Bool_t, etc
8
9#include <string> // for string
10
11#include "TVector3.h"
12#include "TLorentzVector.h"
13
14class HptPoint;
15class FairVolume;
16class TClonesArray;
17
18class Hpt:public FairDetector
19{
20 public:
21 Hpt(const char* name, const Double_t DX, const Double_t DY, const Double_t DZ,Bool_t Active, const char* Title="HighPrecisionTrackers");
22 Hpt();
23 virtual ~Hpt();
24
25 void ConstructGeometry();
26
27 void SetSciFiParam(Double_t scifimat_width, Double_t scifimat_hor, Double_t scifimat_vert,
28 Double_t scifimat_z, Double_t support_z, Double_t honeycomb_z);
29 void SetHPTrackerParam(Double_t HPTX, Double_t HPTY, Double_t HPTZ);
30 void SetNumberSciFi(Int_t n_hor_planes_, Int_t n_vert_planes_);
31 void SetZsize(const Double_t Mudetsize);
32 void SetConcreteBaseDim(Double_t X, Double_t Y, Double_t Z);
33
34 void SetDesign(Int_t Design);
35 //methods for design 3
36 void SetDistanceHPTs(Double_t dd);
37 void SetHPTNumber(Int_t nHPT);
38 void SetSurroundingDetHeight(Double_t height);
39 void GetMagnetGeometry(Double_t EmuzC, Double_t EmuY);
40 void GetNumberofTargets(Int_t ntarget);
41 //
43 virtual void Initialize();
44
48 virtual Bool_t ProcessHits( FairVolume* v=0);
49
51 virtual void Register();
52
54 virtual TClonesArray* GetCollection(Int_t iColl) const ;
55
57 virtual void Reset();
58
62 HptPoint* AddHit(Int_t trackID, Int_t detID,
63 TVector3 pos, TVector3 mom,
64 Double_t time, Double_t length,
65 Double_t eLoss, Int_t pdgCode);
66
71 virtual void CopyClones( TClonesArray* cl1, TClonesArray* cl2 ,
72 Int_t offset) {;}
73 virtual void SetSpecialPhysicsCuts() {;}
74 virtual void EndOfEvent();
75 virtual void FinishPrimary() {;}
76 virtual void FinishRun() {;}
77 virtual void BeginPrimary() {;}
78 virtual void PostTrack() {;}
79 virtual void PreTrack() {;}
80 virtual void BeginEvent() {;}
81
82 void DecodeVolumeID(Int_t detID,int &nHPT, int &nplane, Bool_t &ishor);
83
84private:
85
89 Int_t fTrackID;
90 Int_t fPdgCode;
91 Int_t fVolumeID;
92 TLorentzVector fPos;
93 TLorentzVector fMom;
94 Double32_t fTime;
95 Double32_t fLength;
96 Double32_t fELoss;
97
99 TClonesArray* fHptPointCollection;
100
101 Int_t InitMedium(const char* name);
102
103
104
105protected:
106
107 Double_t DimX;
108 Double_t DimY;
109 Double_t DimZ;
110 Double_t zSizeMudet; //dimension of the Muon Detector volume
111 Double_t fConcreteX; //dimesion of Concrete Base on which the external HPTs lie
112 Double_t fConcreteY;
113 Double_t fConcreteZ;
114
115 Double_t fSRHeight;
116 Double_t fDesign;
117 Double_t fDistance;
118 Int_t fnHPT;
119
120 Double_t HPTrackerX; // parameters for Downstream SciFi Tracker
121 Double_t HPTrackerY;
122 Double_t HPTrackerZ;
123
124 Double_t scifimat_width;
125 Double_t scifimat_hor;
126 Double_t scifimat_vert;
127 Double_t scifimat_z;
128 Double_t support_z;
129 Double_t honeycomb_z;
132
133 Double_t fmagnety; //parameters from EmuMagnet
135
136 Int_t fntarget;
137
138 Hpt(const Hpt&);
139 Hpt& operator=(const Hpt&);
140 ClassDef(Hpt,5)
141
142};
143#endif
144
Definition HPT.h:19
virtual void Initialize()
Definition HPT.cxx:93
Double_t scifimat_width
Definition HPT.h:124
virtual void EndOfEvent()
Definition HPT.cxx:363
Hpt & operator=(const Hpt &)
void SetNumberSciFi(Int_t n_hor_planes_, Int_t n_vert_planes_)
Definition HPT.cxx:175
void SetHPTNumber(Int_t nHPT)
Definition HPT.cxx:117
TLorentzVector fPos
volume id
Definition HPT.h:92
void GetMagnetGeometry(Double_t EmuzC, Double_t EmuY)
Definition HPT.cxx:132
Int_t fVolumeID
pdg code
Definition HPT.h:91
virtual void Reset()
Definition HPT.cxx:403
void GetNumberofTargets(Int_t ntarget)
Definition HPT.cxx:138
Double_t HPTrackerY
Definition HPT.h:121
Int_t InitMedium(const char *name)
Definition HPT.cxx:144
Double_t fDistance
Definition HPT.h:117
Double32_t fLength
time
Definition HPT.h:95
Double_t DimY
Definition HPT.h:108
void DecodeVolumeID(Int_t detID, int &nHPT, int &nplane, Bool_t &ishor)
Definition HPT.cxx:384
Double_t fConcreteX
Definition HPT.h:111
Int_t fPdgCode
track index
Definition HPT.h:90
Double_t fDesign
Definition HPT.h:116
Int_t fTrackID
Definition HPT.h:89
Double_t DimX
Definition HPT.h:107
virtual void FinishPrimary()
Definition HPT.h:75
Double_t fSRHeight
Definition HPT.h:115
Double32_t fELoss
length
Definition HPT.h:96
TLorentzVector fMom
position at entrance
Definition HPT.h:93
Int_t fntarget
Definition HPT.h:136
void SetZsize(const Double_t Mudetsize)
Definition HPT.cxx:99
void SetConcreteBaseDim(Double_t X, Double_t Y, Double_t Z)
Definition HPT.cxx:105
virtual ~Hpt()
Definition HPT.cxx:85
virtual void Register()
Definition HPT.cxx:369
HptPoint * AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss, Int_t pdgCode)
Definition HPT.cxx:409
Hpt(const Hpt &)
void SetHPTrackerParam(Double_t HPTX, Double_t HPTY, Double_t HPTZ)
Definition HPT.cxx:181
Double_t scifimat_z
Definition HPT.h:127
void ConstructGeometry()
Definition HPT.cxx:188
virtual void BeginEvent()
Definition HPT.h:80
Double_t fConcreteZ
Definition HPT.h:113
Int_t n_vert_planes
Definition HPT.h:131
Double_t support_z
Definition HPT.h:128
virtual void PreTrack()
Definition HPT.h:79
void SetDistanceHPTs(Double_t dd)
Definition HPT.cxx:112
void SetDesign(Int_t Design)
Definition HPT.cxx:122
Double_t HPTrackerZ
Definition HPT.h:122
Double_t scifimat_hor
Definition HPT.h:125
Double_t DimZ
Definition HPT.h:109
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
Definition HPT.h:71
virtual void SetSpecialPhysicsCuts()
Definition HPT.h:73
Double_t HPTrackerX
Definition HPT.h:120
Double32_t fTime
momentum at entrance
Definition HPT.h:94
Int_t fnHPT
Definition HPT.h:118
void SetSurroundingDetHeight(Double_t height)
Definition HPT.cxx:127
Double_t zSizeMudet
Definition HPT.h:110
Double_t fmagnety
Definition HPT.h:133
virtual TClonesArray * GetCollection(Int_t iColl) const
Definition HPT.cxx:397
void SetSciFiParam(Double_t scifimat_width, Double_t scifimat_hor, Double_t scifimat_vert, Double_t scifimat_z, Double_t support_z, Double_t honeycomb_z)
Definition HPT.cxx:164
TClonesArray * fHptPointCollection
energy loss
Definition HPT.h:99
Double_t honeycomb_z
Definition HPT.h:129
Double_t scifimat_vert
Definition HPT.h:126
virtual void FinishRun()
Definition HPT.h:76
Hpt()
Definition HPT.cxx:54
Double_t fConcreteY
Definition HPT.h:112
virtual Bool_t ProcessHits(FairVolume *v=0)
Definition HPT.cxx:316
virtual void PostTrack()
Definition HPT.h:78
Double_t fmagnetcenter
Definition HPT.h:134
virtual void BeginPrimary()
Definition HPT.h:77
Int_t n_hor_planes
Definition HPT.h:130