]>
Commit | Line | Data |
---|---|---|
f665c1ea | 1 | #ifndef ALIMUONCONSTANTS_H |
2 | #define ALIMUONCONSTANTS_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
24c9eaa0 | 6 | /* $Id$*/ |
30178c30 | 7 | // Revision of includes 07/05/2004 |
692de412 | 8 | // |
9 | /// \ingroup base | |
10 | /// \class AliMUONConstants | |
11 | /// \brief MUON global constants | |
f665c1ea | 12 | |
13 | #include <TObject.h> | |
f665c1ea | 14 | |
15 | class AliMUONConstants : public TObject { | |
16 | public: | |
d59274fa | 17 | /// Return number of chambers |
f665c1ea | 18 | static Int_t NCh() {return fgNCh;} |
d59274fa | 19 | /// Return number of tracking chambers |
f665c1ea | 20 | static Int_t NTrackingCh() {return fgNTrackingCh;} |
de2cd600 | 21 | /// Return number of tracking stations |
22 | static Int_t NTrackingSt() {return fgNTrackingSt;} | |
d59274fa | 23 | /// Return number of trigger chambers |
f665c1ea | 24 | static Int_t NTriggerCh() {return fgNTriggerCh;} |
d59274fa | 25 | /// Return number of trigger circuits |
f665c1ea | 26 | static Int_t NTriggerCircuit() {return fgNTriggerCircuit;} |
d59274fa | 27 | /// Return number of detection element |
edb96c6a | 28 | static Int_t NDetElem() {return fgNDetElem;} |
573dc4ee | 29 | /// Return number of geometry modules |
30 | static Int_t NGeomModules() {return fgNGeomModules;} | |
d59274fa | 31 | /// Return position of chamber i |
f665c1ea | 32 | static Float_t DefaultChamberZ(Int_t i) {return fgDefaultChamberZ[i];} |
d59274fa | 33 | /// Return ratio between trigger chambers |
43adb63d | 34 | static Float_t DefaultRatioTriggerChamber(Int_t i) {return fgDefaultRatioTriggerChamber[i];} |
d59274fa | 35 | /// Return Inclination with respect the vertical axis of stations 345 |
36 | static Float_t St345Inclination() {return fgSt345inclination;} | |
37 | /// Return pointer to array of positions | |
38 | static Float_t* DefaultChamberZ() {return fgDefaultChamberZ;} | |
39 | /// Return chamber i inner diameter | |
40 | static Float_t Dmin(Int_t i) {return fgDmin[i];} | |
41 | /// Return chamber i inner radius | |
42 | static Float_t Rmin(Int_t i) {return Dmin(i)/2.0;} | |
43 | /// Return chamber i outer diameter | |
44 | static Float_t Dmax(Int_t i) {return fgDmax[i];} | |
45 | /// Return chamber i outer radius | |
46 | static Float_t Rmax(Int_t i) {return Dmax(i)/2.0;} | |
47 | /// Return maximum zoom for event display | |
48 | static Int_t MaxZoom() {return fgMaxZoom;} | |
49 | /// Return half-distance between two half-chambers | |
50 | static Float_t DzCh() {return fgDzCh;} | |
51 | /// Return half-distance between two slats | |
52 | static Float_t DzSlat() {return fgDzSlat;} | |
53 | /// Return chamber number according z position of hit. | |
29fc2c86 | 54 | static Int_t ChamberNumber(Float_t z); |
d59274fa | 55 | /// Return SqrtKx3 for Slat |
56 | static Float_t SqrtKx3() {return fgSqrtKx3;} | |
57 | /// Return SqrtKy3 for Slat | |
58 | static Float_t SqrtKy3() {return fgSqrtKy3;} | |
59 | /// Return SqrtKx3 for Station 1 & 2 | |
60 | static Float_t SqrtKx3St1() {return fgSqrtKx3St1;} | |
61 | /// Return SqrtKy3 for Station 1 & 2 | |
62 | static Float_t SqrtKy3St1() {return fgSqrtKy3St1;} | |
63 | /// Return charge correlation (needed for response and for cluster finder !?) | |
64 | static Float_t ChargeCorrel() {return fgChargeCorrel;} | |
65 | /// Return charge correlation for Station 1 & 2 (needed for response and for cluster finder !?) | |
66 | static Float_t ChargeCorrelSt1() {return fgChargeCorrelSt1;} | |
67 | /// Return wire pitch | |
1c334adf | 68 | static Float_t Pitch() {return fgPitch;} |
d59274fa | 69 | /// Return wire pitch for Station 1 & 2 |
1c334adf | 70 | static Float_t PitchSt1() {return fgPitchSt1;} |
208f139e | 71 | /// Return coil z-position |
72 | static Double_t CoilZ() {return fgCoilZ;} | |
73 | /// Return coil lenght | |
74 | static Double_t CoilL() {return fgCoilL;} | |
75 | /// Return yoke z-position | |
76 | static Double_t YokeZ() {return fgYokeZ;} | |
77 | /// Return yoke lenght | |
78 | static Double_t YokeL() {return fgYokeL;} | |
79 | /// Return the z position of the end of the absorber | |
80 | static Double_t ZAbsorberEnd() {return fgZAbsorberEnd;} | |
81 | /// Return the number of elements making the absorber | |
82 | static Int_t NAbsorberElements() {return fgNAbsorberElements;} | |
83 | /// Return the z position of the element "iElement" making the absorber | |
84 | static Double_t ZAbsorberElement(Int_t iElement) {return ((iElement >= 0) && (iElement < fgNAbsorberElements)) ? fgZAbsorberElement[iElement] : 0.;} | |
85 | /// Return the radiation lenght of the element "iElement" making the inner part of the absorber | |
86 | static Double_t X0AbsorberIn(Int_t iElement) {return ((iElement >= 0) && (iElement < fgNAbsorberElements)) ? fgX0AbsorberIn[iElement] : -1.;} | |
87 | /// Return the radiation lenght of the element "iElement" making the outer part of the absorber | |
88 | static Double_t X0AbsorberOut(Int_t iElement) {return ((iElement >= 0) && (iElement < fgNAbsorberElements)) ? fgX0AbsorberOut[iElement] : -1.;} | |
de2cd600 | 89 | /// Return chamber thickness in X0 |
208f139e | 90 | static Double_t ChamberThicknessInX0() {return fgChamberThicknessInX0;} |
b717b957 | 91 | /// Return Trigger ToF Limit (75 ns) |
92 | static Float_t TriggerTofLimit() {return fgkTriggerTofLimit;} | |
93 | ||
30178c30 | 94 | protected: |
5398f946 | 95 | /// Default constructor |
30178c30 | 96 | AliMUONConstants() : TObject() {} |
5398f946 | 97 | /// Destructor |
f665c1ea | 98 | virtual ~AliMUONConstants(){} |
30178c30 | 99 | |
f665c1ea | 100 | private: |
d59274fa | 101 | static Int_t fgNCh; ///< Number of Chambers |
102 | static Int_t fgNTrackingCh; ///< Number of Tracking Chambers | |
de2cd600 | 103 | static Int_t fgNTrackingSt; ///< Number of Tracking Stations |
d59274fa | 104 | static Int_t fgNTriggerCh; ///< Number of Trigger Chambers |
105 | static Int_t fgNTriggerCircuit; ///< Number of Trigger Circuits | |
106 | static Int_t fgNDetElem; ///< Number of Detection Elements. | |
573dc4ee | 107 | static Int_t fgNGeomModules; ///< Number of Geometry modules |
d59274fa | 108 | |
208f139e | 109 | static Float_t fgDefaultChamberZ[14]; //!< Z-positions of chambers |
110 | static Float_t fgDefaultRatioTriggerChamber[4]; ///< Ratio between trigger chambers | |
111 | static Float_t fgSt345inclination; //!< Inclination with respect the vertical axis of stations 345 | |
112 | static Float_t fgDmin[7]; //!< Inner diameter | |
113 | static Float_t fgDmax[7]; //!< Outer diameter | |
d59274fa | 114 | |
115 | static Float_t fgDzCh; ///< Half-distance between two half-chambers | |
116 | static Float_t fgDzSlat; ///< Half-distance between two slat on the same chamber | |
117 | static Float_t fgSqrtKx3; ///< SqrtKx3 for St2 & Slat | |
118 | static Float_t fgSqrtKy3; ///< SqrtKy3 for St2 & Slat | |
119 | static Float_t fgSqrtKx3St1; ///< SqrtKx3 for Station 1 | |
120 | static Float_t fgSqrtKy3St1; ///< SqrtKy3 for Station 1 | |
7e4a628d | 121 | |
d59274fa | 122 | static Float_t fgChargeCorrel; ///< Charge correlation for St2 & Slats |
123 | static Float_t fgChargeCorrelSt1; ///< Charge correlation for Station 1 | |
7e4a628d | 124 | |
d59274fa | 125 | static Float_t fgPitch; ///< Wire pitch for St2 & Slats |
126 | static Float_t fgPitchSt1; ///< Wire pitch for Station 1 | |
e516b01d | 127 | |
208f139e | 128 | static Double_t fgChamberThicknessInX0; ///< default chamber thickness in X0 for reconstruction |
de2cd600 | 129 | |
208f139e | 130 | static Double_t fgCoilZ; ///< Coil z-position |
131 | static Double_t fgCoilL; ///< Coil lenght | |
132 | static Double_t fgYokeZ; ///< Yoke z-position | |
133 | static Double_t fgYokeL; ///< Yoke lenght | |
134 | ||
135 | static Double_t fgZAbsorberEnd; ///< Z position of the end of the absorber | |
136 | static Int_t fgNAbsorberElements; ///< Number of elements making the absorber | |
137 | static Double_t fgZAbsorberElement[5]; ///< Z positions of elements making the absorber | |
138 | static Double_t fgX0AbsorberIn[5]; ///< Radiation lenght of materials in the inner part of the absorber (theta > 3 degrees) | |
139 | static Double_t fgX0AbsorberOut[5]; ///< Radiation lenght of materials in the outer part of the absorber (theta > 3 degrees) | |
140 | ||
141 | static Int_t fgMaxZoom; ///< Maximum Zoom for event display | |
142 | static Float_t fgkTriggerTofLimit; ///< Particle above this threshold are discarded in trigger algorithm | |
d59274fa | 143 | |
144 | ClassDef(AliMUONConstants, 0) // MUON global constants | |
f665c1ea | 145 | }; |
146 | ||
147 | #endif | |
148 | ||
149 | ||
150 | ||
151 | ||
152 | ||
153 | ||
154 | ||
155 |