SND@LHC Software
Loading...
Searching...
No Matches
strawtubes.h
Go to the documentation of this file.
1#ifndef STRAWTUBES_H
2#define STRAWTUBES_H
3
4#include "FairDetector.h"
5
6#include "TVector3.h"
7#include "TLorentzVector.h"
8
10class FairVolume;
11class TClonesArray;
12
13class strawtubes: public FairDetector
14{
15
16 public:
17
22 strawtubes(const char* Name, Bool_t Active);
23
25 strawtubes();
26
28 virtual ~strawtubes();
29
31 virtual void Initialize();
32
36 virtual Bool_t ProcessHits( FairVolume* v=0);
37
39 virtual void Register();
40
42 virtual TClonesArray* GetCollection(Int_t iColl) const ;
43
45 virtual void Reset();
46
47 void SetZpositions(Double_t z0, Double_t z1, Double_t z2, Double_t z3, Double_t z4);
48 void SetStrawLength(Double_t strawlength);
49 void SetInnerStrawDiameter(Double_t innerstrawdiameter);
50 void SetOuterStrawDiameter(Double_t outerstrawdiameter);
51 void SetStrawPitch(Double_t strawpitch,Double_t layer_offset, Double_t plane_offset);
52 void SetDeltazLayer(Double_t deltazlayer);
53 void SetDeltazPlane(Double_t deltazplane);
54 void SetStrawsPerLayer(Int_t strawsperlayer);
55 void SetStereoAngle(Int_t stereoangle);
56 void SetWireThickness(Double_t wirethickness);
57 void SetDeltazFrame(Double_t deltazframe);
58 void SetFrameLateralWidth(Double_t framelateralwidth);
59 void SetFrameMaterial(TString framematerial);
60 void SetDeltazView(Double_t deltazview);
61 void SetStrawLength12(Double_t strawlength12);
62 void SetStrawLengthVeto(Double_t strawlengthveto);
63 void SetVacBox_x(Double_t vacbox_x);
64 void SetVacBox_y(Double_t vacbox_y);
65 void SetVetoYDim(Double_t vetoydim);
66 void SetTr12YDim(Double_t tr12ydim);
67 void SetTr34YDim(Double_t tr34ydim);
68 void StrawDecode(Int_t detID,int &statnb,int &vnb,int &pnb,int &lnb, int &snb);
69 void StrawEndPoints(Int_t detID, TVector3 &top, TVector3 &bot);
70 void StrawEndPointsOriginal(Int_t detID, TVector3 &top, TVector3 &bot);
71// for the digitizing step
72 void SetStrawResolution(Double_t a, Double_t b) {v_drift = a; sigma_spatial=b;}
73 Double_t StrawVdrift() {return v_drift;}
74 Double_t StrawSigmaSpatial() {return sigma_spatial;}
75
77 void ConstructGeometry();
78
79
80
84 strawtubesPoint* AddHit(Int_t trackID, Int_t detID,
85 TVector3 pos, TVector3 mom,
86 Double_t time, Double_t length,
87 Double_t eLoss, Int_t pdgCode, Double_t dist2Wire);
88
93 virtual void CopyClones( TClonesArray* cl1, TClonesArray* cl2 ,
94 Int_t offset) {;}
95 virtual void SetSpecialPhysicsCuts() {;}
96 virtual void EndOfEvent();
97 virtual void FinishPrimary() {;}
98 virtual void FinishRun() {;}
99 virtual void BeginPrimary() {;}
100 virtual void PostTrack() {;}
101 virtual void PreTrack() {;}
102 virtual void BeginEvent() {;}
103
104 private:
105
109 Int_t fTrackID;
110 Int_t fVolumeID;
111 TLorentzVector fPos;
112 TLorentzVector fMom;
113 Double_t fTime;
114 Double_t fLength;
115 Double_t fELoss;
116 Double_t fT0z;
117 Double_t fT1z;
118 Double_t fT2z;
119 Double_t fT3z;
120 Double_t fT4z;
121 Double_t fStraw_length;
126 Double_t fStraw_pitch;
132 Double_t fView_angle;
133 Double_t fcosphi;
134 Double_t fsinphi;
136 Double_t fDeltaz_frame;
139 Double_t fDeltaz_view;
140 Double_t fVacBox_x;
141 Double_t fVacBox_y;
142 Double_t fvetoydim;
143 Double_t ftr12ydim;
144 Double_t ftr34ydim;
148 Double_t v_drift;
149 Double_t sigma_spatial;
153
156 Int_t InitMedium(const char* name);
157 ClassDef(strawtubes,5)
158};
159
160#endif //STRAWTUBES_H
Double_t fT2z
z-position of tracking station 1
Definition strawtubes.h:118
Int_t fVolumeID
track index
Definition strawtubes.h:110
virtual void EndOfEvent()
strawtubesPoint * AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss, Int_t pdgCode, Double_t dist2Wire)
void SetDeltazPlane(Double_t deltazplane)
void SetZpositions(Double_t z0, Double_t z1, Double_t z2, Double_t z3, Double_t z4)
void SetVacBox_x(Double_t vacbox_x)
TLorentzVector fMom
position at entrance
Definition strawtubes.h:112
Double_t fDeltaz_view
Material of the view frame.
Definition strawtubes.h:139
Int_t fStraws_per_layer_tr34
Number of straws in one tr12 layer.
Definition strawtubes.h:147
TLorentzVector fPos
volume id
Definition strawtubes.h:111
virtual void SetSpecialPhysicsCuts()
Definition strawtubes.h:95
Double_t fStraw_length_12
Length (y) of a straw.
Definition strawtubes.h:122
void SetStrawResolution(Double_t a, Double_t b)
Definition strawtubes.h:72
Int_t fStraws_per_layer
Offset (x) between straws of plane1&2.
Definition strawtubes.h:131
TClonesArray * fstrawtubesPointCollection
spatial resolution
Definition strawtubes.h:152
Double_t fStraw_length_veto
strawlength for tracking station 1 & 2
Definition strawtubes.h:123
Double_t fInner_Straw_diameter
strawlength for veto station
Definition strawtubes.h:124
Double_t ftr34ydim
y size of tr12 stations
Definition strawtubes.h:144
Double_t StrawSigmaSpatial()
Definition strawtubes.h:74
void SetInnerStrawDiameter(Double_t innerstrawdiameter)
void StrawEndPoints(Int_t detID, TVector3 &top, TVector3 &bot)
void ConstructGeometry()
Double_t fDeltaz_plane12
Distance (z) between layer 1&2.
Definition strawtubes.h:128
virtual void BeginPrimary()
Definition strawtubes.h:99
void StrawDecode(Int_t detID, int &statnb, int &vnb, int &pnb, int &lnb, int &snb)
virtual void Reset()
Double_t fvetoydim
y size of station vacuumbox
Definition strawtubes.h:142
virtual void Initialize()
TString fFrame_material
Width (x and y) of the material frame.
Definition strawtubes.h:138
virtual void FinishRun()
Definition strawtubes.h:98
void SetStrawsPerLayer(Int_t strawsperlayer)
Double_t fcosphi
Stereo angle of layers in a view.
Definition strawtubes.h:133
Double_t StrawVdrift()
Definition strawtubes.h:73
Double_t fOffset_layer12
Distance (z) between plane 1&2.
Definition strawtubes.h:129
void SetStrawLengthVeto(Double_t strawlengthveto)
void SetStereoAngle(Int_t stereoangle)
virtual TClonesArray * GetCollection(Int_t iColl) const
Double_t fWire_thickness
Definition strawtubes.h:135
virtual void BeginEvent()
Definition strawtubes.h:102
strawtubes & operator=(const strawtubes &)
Int_t InitMedium(const char *name)
Double_t fsinphi
Definition strawtubes.h:134
Double_t fStraw_length
z-position of tracking station 4
Definition strawtubes.h:121
Double_t fT3z
z-position of tracking station 2
Definition strawtubes.h:119
void SetStrawLength(Double_t strawlength)
virtual void Register()
Double_t fFrame_lateral_width
Thickness (z) of the meterial frame.
Definition strawtubes.h:137
void SetTr34YDim(Double_t tr34ydim)
Double_t fELoss
length
Definition strawtubes.h:115
void SetVetoYDim(Double_t vetoydim)
virtual ~strawtubes()
Double_t fT1z
z-position of veto station
Definition strawtubes.h:117
virtual void PostTrack()
Definition strawtubes.h:100
void StrawEndPointsOriginal(Int_t detID, TVector3 &top, TVector3 &bot)
Double_t fStraw_pitch
Outer Straw diameter.
Definition strawtubes.h:126
Double_t fDeltaz_layer12
Distance (x) between straws in one layer.
Definition strawtubes.h:127
Double_t fOffset_plane12
Offset (x) between straws of layer2&1.
Definition strawtubes.h:130
Double_t fT0z
energy loss
Definition strawtubes.h:116
virtual void FinishPrimary()
Definition strawtubes.h:97
void SetStrawLength12(Double_t strawlength12)
virtual void PreTrack()
Definition strawtubes.h:101
Double_t fTime
momentum at entrance
Definition strawtubes.h:113
Double_t v_drift
Number of straws in one tr34 layer.
Definition strawtubes.h:148
Double_t ftr12ydim
y size of veto station
Definition strawtubes.h:143
void SetOuterStrawDiameter(Double_t outerstrawdiameter)
void SetWireThickness(Double_t wirethickness)
void SetStrawPitch(Double_t strawpitch, Double_t layer_offset, Double_t plane_offset)
Double_t fLength
time
Definition strawtubes.h:114
void SetDeltazFrame(Double_t deltazframe)
Int_t fTrackID
Definition strawtubes.h:109
void SetDeltazLayer(Double_t deltazlayer)
strawtubes(const strawtubes &)
void SetTr12YDim(Double_t tr12ydim)
virtual Bool_t ProcessHits(FairVolume *v=0)
Int_t fStraws_per_layer_veto
y size of tr34 stations
Definition strawtubes.h:145
Double_t sigma_spatial
drift velocity
Definition strawtubes.h:149
Double_t fVacBox_x
Distance (z) between views.
Definition strawtubes.h:140
void SetDeltazView(Double_t deltazview)
Double_t fVacBox_y
x size of station vacuumbox
Definition strawtubes.h:141
void SetFrameLateralWidth(Double_t framelateralwidth)
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
Definition strawtubes.h:93
Double_t fView_angle
Number of straws in one layer.
Definition strawtubes.h:132
Double_t fOuter_Straw_diameter
Inner Straw diameter.
Definition strawtubes.h:125
Int_t fStraws_per_layer_tr12
Number of straws in one veto layer.
Definition strawtubes.h:146
void SetVacBox_y(Double_t vacbox_y)
Double_t fT4z
z-position of tracking station 3
Definition strawtubes.h:120
Double_t fDeltaz_frame
Thickness of the wire.
Definition strawtubes.h:136
void SetFrameMaterial(TString framematerial)