o add Reset function to CalPad and CalROC o Add functionality to AliTPCdataQA - Reset...
[u/mrichter/AliRoot.git] / MUON / AliMUONConstants.h
CommitLineData
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
15class AliMUONConstants : public TObject {
16 public:
d59274fa 17 /// Return number of chambers
6061eac6 18 static Int_t NCh();
d59274fa 19 /// Return number of tracking chambers
6061eac6 20 static Int_t NTrackingCh();
de2cd600 21 /// Return number of tracking stations
22 static Int_t NTrackingSt() {return fgNTrackingSt;}
d59274fa 23 /// Return number of trigger chambers
6061eac6 24 static Int_t NTriggerCh() {return NCh()-NTrackingCh();}
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.
3787f517 54 static Int_t ChamberNumber(Float_t z, bool warn = false);
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;}
ff71f4a2 79 /// Return z-position of absorber begining
94bf739c 80 static Double_t AbsZBeg() {return fgkAbsZBeg;}
ff71f4a2 81 /// Return z-position of absorber end
94bf739c 82 static Double_t AbsZEnd() {return fgkAbsZEnd;}
de2cd600 83 /// Return chamber thickness in X0
4663da9f 84 static Double_t ChamberThicknessInX0(Int_t chId) {return (chId >= 0 && chId < 10) ? fgChamberThicknessInX0[chId] : 0.;}
b717b957 85 /// Return Trigger ToF Limit (75 ns)
86 static Float_t TriggerTofLimit() {return fgkTriggerTofLimit;}
bdfb6eef 87 /// Return default trigger chamber resolution DUE TO ALIGNMENT ONLY in non bending direction
94bf739c 88 static Double_t TriggerNonBendingReso() {return fgkTriggerNonBendingReso;}
bdfb6eef 89 /// Return default trigger chamber resolution DUE TO ALIGNMENT ONLY in bending direction
94bf739c 90 static Double_t TriggerBendingReso() {return fgkTriggerBendingReso;}
fda59e58 91 /// Return z-position of muon filter begining
94bf739c 92 static Double_t MuonFilterZBeg() {return fgkMuonFilterZBeg;}
fda59e58 93 /// Return z-position of muon filter end
94bf739c 94 static Double_t MuonFilterZEnd() {return fgkMuonFilterZEnd;}
fda59e58 95 /// Return radiation length (in cm) of muon filter
94bf739c 96 static Double_t MuonFilterX0() {return fgkMuonFilterX0;}
fda59e58 97
9bdbee64 98 /// Return the most probable bending momentum (GeV/c) (used when B = 0)
2a5f75ae 99 static Double_t GetMostProbBendingMomentum() { return fgkMostProbBendingMomentum; }
100
101 /// Return average arrival time to chamber i
102 static Float_t AverageChamberT(Int_t i) {return fgAverageChamberT[i];}
103 /// Return a reduced total charge
104 static Float_t ReducedQTot(Float_t qtot, Float_t timeDif);
5d950f54 105
106 // Return conversionfactor fc to adc
107 static Float_t FC2ADC();
108
109 // Return default a0
110 static Float_t DefaultA0() { return fgkDefaultA0; }
111 // Return default adc2mv
112 static Float_t DefaultADC2MV() { return fgkDefaultADC2MV; }
113 // Return default Capa
114 static Float_t DefaultCapa() { return fgkDefaultCapa; }
115
30178c30 116 protected:
5398f946 117 /// Default constructor
30178c30 118 AliMUONConstants() : TObject() {}
5398f946 119 /// Destructor
f665c1ea 120 virtual ~AliMUONConstants(){}
30178c30 121
f665c1ea 122 private:
de2cd600 123 static Int_t fgNTrackingSt; ///< Number of Tracking Stations
d59274fa 124 static Int_t fgNTriggerCircuit; ///< Number of Trigger Circuits
125 static Int_t fgNDetElem; ///< Number of Detection Elements.
573dc4ee 126 static Int_t fgNGeomModules; ///< Number of Geometry modules
d59274fa 127
208f139e 128 static Float_t fgDefaultChamberZ[14]; //!< Z-positions of chambers
3787f517 129 static Float_t fgDefaultChamberMinZ[14]; //!< Minimum z-positions of chambers
130 static Float_t fgDefaultChamberMaxZ[14]; //!< Maximum z-positions of chambers
208f139e 131 static Float_t fgDefaultRatioTriggerChamber[4]; ///< Ratio between trigger chambers
132 static Float_t fgSt345inclination; //!< Inclination with respect the vertical axis of stations 345
133 static Float_t fgDmin[7]; //!< Inner diameter
134 static Float_t fgDmax[7]; //!< Outer diameter
d59274fa 135
136 static Float_t fgDzCh; ///< Half-distance between two half-chambers
137 static Float_t fgDzSlat; ///< Half-distance between two slat on the same chamber
138 static Float_t fgSqrtKx3; ///< SqrtKx3 for St2 & Slat
139 static Float_t fgSqrtKy3; ///< SqrtKy3 for St2 & Slat
140 static Float_t fgSqrtKx3St1; ///< SqrtKx3 for Station 1
141 static Float_t fgSqrtKy3St1; ///< SqrtKy3 for Station 1
7e4a628d 142
d59274fa 143 static Float_t fgChargeCorrel; ///< Charge correlation for St2 & Slats
144 static Float_t fgChargeCorrelSt1; ///< Charge correlation for Station 1
7e4a628d 145
d59274fa 146 static Float_t fgPitch; ///< Wire pitch for St2 & Slats
147 static Float_t fgPitchSt1; ///< Wire pitch for Station 1
e516b01d 148
4663da9f 149 static Double_t fgChamberThicknessInX0[10]; ///< default chamber thickness in X0 for reconstruction
de2cd600 150
208f139e 151 static Double_t fgCoilZ; ///< Coil z-position
152 static Double_t fgCoilL; ///< Coil lenght
153 static Double_t fgYokeZ; ///< Yoke z-position
154 static Double_t fgYokeL; ///< Yoke lenght
155
ff71f4a2 156 static const Double_t fgkAbsZBeg; ///< z-position of the begining of the absorber
157 static const Double_t fgkAbsZEnd; ///< z-position of the end of the absorber
158
208f139e 159 static Int_t fgMaxZoom; ///< Maximum Zoom for event display
160 static Float_t fgkTriggerTofLimit; ///< Particle above this threshold are discarded in trigger algorithm
d59274fa 161
bdfb6eef 162 static const Double_t fgkTriggerNonBendingReso; ///< default trigger chamber resolution in the non-bending direction, DUE TO ALIGNMENT ONLY
163 static const Double_t fgkTriggerBendingReso; ///< default trigger chamber resolution in the bending direction, DUE TO ALIGNMENT ONLY
fda59e58 164
165 static const Double_t fgkMuonFilterZBeg; ///< z-position of the begining of the muon filter
166 static const Double_t fgkMuonFilterZEnd; ///< z-position of the end of the muon filter
167 static const Double_t fgkMuonFilterX0; ///< x0 of the muon filter
a04a1860 168
2a5f75ae 169 static const Double_t fgkMostProbBendingMomentum; ///< most probable value (GeV/c) of muon momentum in bending plane (used when B = 0) needed to get some "reasonable" corrections for MCS and E loss even if B = 0
9bdbee64 170
2a5f75ae 171 static Float_t fgAverageChamberT[14]; ///<average arrival time to chamber
9bdbee64 172
5d950f54 173 static const Float_t fgkDefaultA0; ///< Default gain A0
174 static const Float_t fgkDefaultADC2MV; ///< Default ADC to mv conversion factor
175 static const Float_t fgkDefaultCapa; ///< Default Capa
176
d59274fa 177 ClassDef(AliMUONConstants, 0) // MUON global constants
f665c1ea 178};
179
180#endif
181