SND@LHC Software
Loading...
Searching...
No Matches
TargetTracker.h
Go to the documentation of this file.
1//
2// TargetTracker.h
3//
4//
5// Created by Annarita Buonaura on 17/01/15.
6//
7//
8
9#ifndef TargetTracker_H
10#define TargetTracker_H
11
12#include "FairModule.h" // for FairModule
13#include "FairDetector.h"
14
15#include "Rtypes.h" // for ShipMuonShield::Class, Bool_t, etc
16
17#include <string> // for string
18
19#include "TVector3.h"
20#include "TLorentzVector.h"
21
22class TTPoint;
23class FairVolume;
24class TClonesArray;
25
26class TargetTracker : public FairDetector
27{
28public:
29 TargetTracker(const char* name, Double_t TTX, Double_t TTY, Double_t TTZ, Bool_t Active, const char* Title = "TargetTrackers");
31 virtual ~TargetTracker();
32
33 void ConstructGeometry();
34
35 void SetSciFiParam(Double_t scifimat_width_, Double_t scifimat_hor_, Double_t scifimat_vert_,
36 Double_t scifimat_z_, Double_t support_z_, Double_t honeycomb_z_);
37 void SetNumberSciFi(Int_t n_hor_planes_, Int_t n_vert_planes_);
38 void SetTargetTrackerParam(Double_t TTX, Double_t TTY, Double_t TTZ);
39 void SetBrickParam(Double_t CellW);
40 void SetTotZDimension(Double_t Zdim);
41 void DecodeTTID(Int_t detID, Int_t &NTT, int &nplane, Bool_t &ishor);
42 void SetNumberTT(Int_t n);
43 void SetDesign(Int_t Design);
44
45
47 virtual void Initialize();
48
52 virtual Bool_t ProcessHits( FairVolume* v=0);
53
55 virtual void Register();
56
58 virtual TClonesArray* GetCollection(Int_t iColl) const ;
59
61 virtual void Reset();
62
67 TTPoint* AddHit(Int_t trackID, Int_t detID,
68 TVector3 pos, TVector3 mom,
69 Double_t time, Double_t length,
70 Double_t eLoss, Int_t pdgCode);
71
76 virtual void CopyClones( TClonesArray* cl1, TClonesArray* cl2 ,
77 Int_t offset) {;}
78 virtual void SetSpecialPhysicsCuts() {;}
79 virtual void EndOfEvent();
80 virtual void FinishPrimary() {;}
81 virtual void FinishRun() {;}
82 virtual void BeginPrimary() {;}
83 virtual void PostTrack() {;}
84 virtual void PreTrack() {;}
85 virtual void BeginEvent() {;}
86
87
90
92
93 private:
94
98 Int_t fTrackID;
99 Int_t fVolumeID;
100 TLorentzVector fPos;
101 TLorentzVector fMom;
102 Double32_t fTime;
103 Double32_t fLength;
104 Double32_t fELoss;
105
107 TClonesArray* fTTPointCollection;
108
109protected:
110
111 Double_t TTrackerX;
112 Double_t TTrackerY;
113 Double_t TTrackerZ;
114
116 Double_t scifimat_hor;
118 Double_t scifimat_z;
119 Double_t support_z;
120 Double_t honeycomb_z;
123
124 Double_t CellWidth; //dimension of the cell containing brick and CES
125 Double_t ZDimension; //Dimension of the TTs+bricks total volume
126
127 Int_t fNTT; //number of TT
128
129 Int_t fDesign;
130
131
132 Int_t InitMedium(const char* name);
133
134};
135
136#endif
void SetNumberTT(Int_t n)
TClonesArray * fTTPointCollection
energy loss
virtual void FinishPrimary()
TLorentzVector fMom
position at entrance
virtual Bool_t ProcessHits(FairVolume *v=0)
Double_t ZDimension
ClassDef(TargetTracker, 4)
Double_t support_z
void DecodeTTID(Int_t detID, Int_t &NTT, int &nplane, Bool_t &ishor)
Double_t TTrackerX
Double_t scifimat_z
Double_t scifimat_width
void SetTotZDimension(Double_t Zdim)
TargetTracker & operator=(const TargetTracker &)
void SetNumberSciFi(Int_t n_hor_planes_, Int_t n_vert_planes_)
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_)
virtual ~TargetTracker()
Double_t TTrackerY
Int_t InitMedium(const char *name)
TTPoint * AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss, Int_t pdgCode)
virtual TClonesArray * GetCollection(Int_t iColl) const
Int_t fVolumeID
track index
Double_t scifimat_vert
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
virtual void EndOfEvent()
Double32_t fLength
time
virtual void SetSpecialPhysicsCuts()
virtual void PreTrack()
void SetDesign(Int_t Design)
virtual void Initialize()
Double32_t fTime
momentum at entrance
virtual void PostTrack()
Double_t CellWidth
TargetTracker(const TargetTracker &)
Double_t TTrackerZ
Double_t honeycomb_z
virtual void FinishRun()
void SetBrickParam(Double_t CellW)
TLorentzVector fPos
volume id
virtual void BeginPrimary()
virtual void Register()
virtual void BeginEvent()
virtual void Reset()
Double_t scifimat_hor
void SetTargetTrackerParam(Double_t TTX, Double_t TTY, Double_t TTZ)
Double32_t fELoss
length