]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONConstants.h
4bf684fa5e58f7a61356102f149a85d1306a0b06
[u/mrichter/AliRoot.git] / MUON / AliMUONConstants.h
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
6 /* $Id$*/
7 // Revision of includes 07/05/2004
8 //
9 /// \ingroup base
10 /// \class AliMUONConstants
11 /// \brief MUON global constants
12
13 #include <TObject.h>
14
15 class AliMUONConstants : public TObject {
16  public:
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     /// Return chamber number according z position of hit.
50     static  Int_t ChamberNumber(Float_t z); 
51     /// Return SqrtKx3 for Slat
52     static Float_t SqrtKx3()                 {return fgSqrtKx3;}
53     /// Return SqrtKy3 for Slat
54     static Float_t SqrtKy3()                 {return fgSqrtKy3;}
55     /// Return SqrtKx3 for Station 1 & 2
56     static Float_t SqrtKx3St1()              {return fgSqrtKx3St1;}
57     /// Return SqrtKy3 for Station 1 & 2
58     static Float_t SqrtKy3St1()              {return fgSqrtKy3St1;}
59     /// Return charge correlation (needed for response and for cluster finder !?)
60     static Float_t ChargeCorrel()            {return fgChargeCorrel;}
61     /// Return charge correlation for Station 1 & 2 (needed for response and for cluster finder !?)
62     static Float_t ChargeCorrelSt1()         {return fgChargeCorrelSt1;}
63     /// Return wire pitch
64     static Float_t Pitch()    {return fgPitch;}
65     /// Return wire pitch for Station 1 & 2
66     static Float_t PitchSt1() {return fgPitchSt1;}
67
68  protected:
69     AliMUONConstants() : TObject() {}
70     virtual ~AliMUONConstants(){}
71
72  private:
73     static Int_t  fgNCh;                ///<  Number of Chambers    
74     static Int_t  fgNTrackingCh;        ///<  Number of Tracking Chambers
75     static Int_t  fgNTriggerCh;         ///<  Number of Trigger Chambers
76     static Int_t  fgNTriggerCircuit;    ///<  Number of Trigger Circuits
77     static Int_t  fgNDetElem;           ///<  Number of Detection Elements.
78
79     static Float_t  fgDefaultChamberZ[14];    //!< Z-positions of chambers
80     static Float_t  fgDefaultRatioTriggerChamber[4]; ///< Ratio between trigger chambers
81     static Float_t  fgSt345inclination;       //!< Inclination with respect the vertical axis of stations 345
82     static Float_t  fgDmin[7];                //!< Inner diameter
83     static Float_t  fgDmax[7];                //!< Outer diameter
84
85     static Float_t  fgDzCh;             ///< Half-distance between two half-chambers 
86     static Float_t  fgDzSlat;           ///< Half-distance between two slat on the same chamber
87     static Float_t  fgSqrtKx3;          ///< SqrtKx3 for St2 & Slat
88     static Float_t  fgSqrtKy3;          ///< SqrtKy3 for St2 & Slat
89     static Float_t  fgSqrtKx3St1;       ///< SqrtKx3 for Station 1 
90     static Float_t  fgSqrtKy3St1;       ///< SqrtKy3 for Station 1 
91  
92     static Float_t  fgChargeCorrel;      ///< Charge correlation for St2 & Slats
93     static Float_t  fgChargeCorrelSt1;   ///< Charge correlation for Station 1
94
95     static Float_t  fgPitch;             ///< Wire pitch for St2 & Slats
96     static Float_t  fgPitchSt1;          ///< Wire pitch for Station 1
97
98     static Int_t    fgMaxZoom;           ///< Maximum Zoom for event display
99     
100     ClassDef(AliMUONConstants, 0) // MUON global constants 
101 };
102         
103 #endif
104
105
106
107
108
109
110
111