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 */
7 // Revision of includes 07/05/2004
10 /// \class AliMUONConstants
11 /// \brief MUON global constants
15 class AliMUONConstants : public TObject {
17 // return number of chambers
18 static Int_t NCh() {return fgNCh;}
19 // return number of tracking chambers
20 static Int_t NTrackingCh() {return fgNTrackingCh;}
21 // return number of trigger chambers
22 static Int_t NTriggerCh() {return fgNTriggerCh;}
23 // return number of trigger circuits
24 static Int_t NTriggerCircuit() {return fgNTriggerCircuit;}
25 // return number of detection element
26 static Int_t NDetElem() {return fgNDetElem;}
27 // return position of chamber i
28 static Float_t DefaultChamberZ(Int_t i) {return fgDefaultChamberZ[i];}
29 // return ratio between trigger chambers
30 static Float_t DefaultRatioTriggerChamber(Int_t i) {return fgDefaultRatioTriggerChamber[i];}
31 // return Inclination with respect the vertical axis of stations 345
32 static Float_t St345Inclination() {return fgSt345inclination;}
33 // return pointer to array of positions
34 static Float_t* DefaultChamberZ() {return fgDefaultChamberZ;}
35 // return chamber i inner diameter
36 static Float_t Dmin(Int_t i) {return fgDmin[i];}
37 // return chamber i inner radius
38 static Float_t Rmin(Int_t i) {return Dmin(i)/2.0;}
39 // return chamber i outer diameter
40 static Float_t Dmax(Int_t i) {return fgDmax[i];}
41 // return chamber i outer radius
42 static Float_t Rmax(Int_t i) {return Dmax(i)/2.0;}
43 // return maximum zoom for event display
44 static Int_t MaxZoom() {return fgMaxZoom;}
45 // return half-distance between two half-chambers
46 static Float_t DzCh() {return fgDzCh;}
47 // return half-distance between two slats
48 static Float_t DzSlat() {return fgDzSlat;}
49 static Int_t ChamberNumber(Float_t z);
50 // return SqrtKx3 and SqrtKy3 for Slat
51 static Float_t SqrtKx3() {return fgSqrtKx3;}
52 static Float_t SqrtKy3() {return fgSqrtKy3;}
53 // return SqrtKx3 and SqrtKy3 for Station 1 & 2
54 static Float_t SqrtKx3St1() {return fgSqrtKx3St1;}
55 static Float_t SqrtKy3St1() {return fgSqrtKy3St1;}
56 // return charge correlation (needed for response and for cluster finder !?)
57 static Float_t ChargeCorrel() {return fgChargeCorrel;}
58 static Float_t ChargeCorrelSt1() {return fgChargeCorrelSt1;}
60 static Float_t Pitch() {return fgPitch;}
61 static Float_t PitchSt1() {return fgPitchSt1;}
64 AliMUONConstants() : TObject() {}
65 virtual ~AliMUONConstants(){}
68 static Int_t fgNCh; // Number of Chambers
69 static Int_t fgNTrackingCh; // Number of Tracking Chambers
70 static Int_t fgNTriggerCh; // Number of Trigger Chambers
71 static Int_t fgNTriggerCircuit; // Number of Trigger Circuits
72 static Int_t fgNDetElem; // Number of Detection Elements.
74 static Float_t fgDefaultChamberZ[14]; // ! Z-positions of chambers
75 static Float_t fgDefaultRatioTriggerChamber[4]; // ratio between trigger chambers
76 static Float_t fgSt345inclination; // ! Inclination with respect the vertical axis of stations 345
77 static Float_t fgDmin[7]; // ! inner diameter
78 static Float_t fgDmax[7]; // ! outer diameter
80 static Float_t fgDzCh; // half-distance between two half-chambers
81 static Float_t fgDzSlat; // half-distance between two slat on the same chamber
82 static Float_t fgSqrtKx3; // SqrtKx3 for St2 & Slat
83 static Float_t fgSqrtKy3; // SqrtKy3 for St2 & Slat
84 static Float_t fgSqrtKx3St1; // SqrtKx3 for Station 1
85 static Float_t fgSqrtKy3St1; // SqrtKy3 for Station 1
87 static Float_t fgChargeCorrel; // charge correlation for St2 & Slats
88 static Float_t fgChargeCorrelSt1; // charge correlation for Station 1
90 static Float_t fgPitch; // wire pitch for St2 & Slats
91 static Float_t fgPitchSt1; // wire pitch for Station 1
94 static Int_t fgMaxZoom; // Maximum Zoom for event display
95 ClassDef(AliMUONConstants, 0) // MUON global constants