]>
Commit | Line | Data |
---|---|---|
5e86ff99 | 1 | // This class is used in both AliRoot and libTRD. If you update it in |
2 | // one place you have to update also the other. | |
3 | ||
4 | #ifndef ALITRDLTUPARAM_H | |
5 | #define ALITRDLTUPARAM_H | |
6 | ||
7 | #include "TObject.h" | |
8 | ||
9 | class AliTRDltuParam : public TObject | |
10 | { | |
11 | public: | |
12 | AliTRDltuParam(); | |
13 | ~AliTRDltuParam(); | |
14 | ||
15 | // configuration settings | |
16 | // called with special SCSN commands | |
17 | void SetPtMin(Int_t data) { fPtMin = Float_t(data) / 1000.; } | |
18 | void SetMagField(Int_t data) { fMagField = Float_t(data) / 1000.; } | |
19 | void SetOmegaTau(Int_t data) { fOmegaTau = Float_t(data) / 1.e6; } | |
20 | void SetNtimebins(Int_t data) { fNtimebins = data; } | |
21 | void SetScaleQ0(Int_t data) { fScaleQ0 = data; } | |
22 | void SetScaleQ1(Int_t data) { fScaleQ1 = data; } | |
23 | void SetLengthCorrectionEnable(Int_t data) { fPidTracklengthCorr = Bool_t (data); } | |
24 | void SetTiltCorrectionEnable(Int_t data) { fTiltCorr = Bool_t (data); } | |
25 | ||
26 | // set values directly | |
27 | void SetRawPtMin(Float_t data) { fPtMin = data; } | |
28 | void SetRawMagField(Float_t data) { fMagField = data; } | |
29 | void SetRawOmegaTau(Float_t data) { fOmegaTau = data; } | |
30 | void SetRawNtimebins(Int_t data) { fNtimebins = data; } | |
31 | void SetRawScaleQ0(Int_t data) { fScaleQ0 = data; } | |
32 | void SetRawScaleQ1(Int_t data) { fScaleQ1 = data; } | |
33 | void SetRawLengthCorrectionEnable(Bool_t data) { fPidTracklengthCorr = data; } | |
34 | void SetRawTiltCorrectionEnable(Bool_t data) { fTiltCorr = data; } | |
35 | ||
36 | // retrieve the calculated information | |
37 | // which is written to the TRAPs | |
38 | Int_t GetDyCorrection(Int_t det, Int_t rob, Int_t mcm) const; | |
39 | void GetDyRange(Int_t det, Int_t rob, Int_t mcm, Int_t ch, Int_t &dyMinInt, Int_t &dyMaxInt) const; | |
40 | void GetCorrectionFactors(Int_t det, Int_t rob, Int_t mcm, Int_t ch, | |
41 | UInt_t &cor0, UInt_t &cor1) const; | |
42 | Int_t GetNtimebins() const; | |
43 | ||
44 | Float_t GetX(Int_t det, Int_t rob, Int_t mcm) const; | |
45 | Float_t GetLocalY(Int_t det, Int_t rob, Int_t mcm, Int_t ch) const; | |
46 | Float_t GetLocalZ(Int_t det, Int_t rob, Int_t mcm) const; | |
47 | ||
48 | Float_t GetDist(Int_t det, Int_t rob, Int_t mcm, Int_t ch) const; | |
49 | Float_t GetElongation(Int_t det, Int_t rob, Int_t mcm, Int_t ) const; | |
50 | Float_t GetPhi(Int_t det, Int_t rob, Int_t mcm, Int_t ch) const; | |
51 | Float_t GetPerp(Int_t det, Int_t rob, Int_t mcm, Int_t ch) const; | |
52 | ||
53 | protected: | |
54 | // geometry constants | |
55 | static Float_t fgZrow[6][5]; // z-position of pad row edge | |
56 | static Float_t fgX[6]; // x-position for all layers | |
57 | static Float_t fgTiltingAngle[6]; // tilting angle for every layer | |
58 | static Float_t fgWidthPad[6]; // pad width for all layers | |
59 | static Float_t fgLengthInnerPadC0; // inner pad length C0 chamber | |
60 | static Float_t fgLengthOuterPadC0; // outer pad length C0 chamber | |
61 | static Float_t fgLengthInnerPadC1[6]; // inner pad length C1 chambers | |
62 | static Float_t fgLengthOuterPadC1[6]; // outer pad length C1 chambers | |
63 | static Float_t fgScalePad; // scaling factor for pad width | |
64 | static Float_t fgDriftLength; // length of the parse gaintbl Krypton_2009-01 drift region | |
65 | static Float_t fgBinDy; // bin in dy (140 um) | |
66 | static Int_t fgDyMax; // max dy for a tracklet (hard limit) | |
67 | static Int_t fgDyMin; // min dy for a tracklet (hard limit) | |
68 | ||
69 | // settings | |
70 | Float_t fMagField; // magnetic field | |
71 | Float_t fOmegaTau; // omega tau, i.e. tan(Lorentz angle) | |
72 | Float_t fPtMin; // min. pt for deflection cut | |
73 | Int_t fNtimebins; // drift time in units of timebins << 5n | |
74 | UInt_t fScaleQ0; // scale factor for accumulated charge Q0 | |
75 | UInt_t fScaleQ1; // scale factor for accumulated charge Q1 | |
76 | Bool_t fPidTracklengthCorr; // enable tracklet length correction | |
77 | Bool_t fTiltCorr; // enable tilt correction | |
78 | ||
79 | ClassDef(AliTRDltuParam, 1); | |
80 | }; | |
81 | ||
82 | #endif |