]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONConstants.h
Additional protection in case of negative indexes. More investigation is needed
[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     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;}
59      // return wire pitch
60     static Float_t Pitch()    {return fgPitch;}
61     static Float_t PitchSt1() {return fgPitchSt1;}
62
63  protected:
64     AliMUONConstants() : TObject() {}
65     virtual ~AliMUONConstants(){}
66
67  private:
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.
73 //
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
79
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 
86  
87     static Float_t  fgChargeCorrel;      // charge correlation for St2 & Slats
88     static Float_t  fgChargeCorrelSt1;   // charge correlation for Station 1
89
90     static Float_t  fgPitch;             // wire pitch for St2 & Slats
91     static Float_t  fgPitchSt1;          // wire pitch for Station 1
92
93 //
94     static Int_t    fgMaxZoom;                // Maximum Zoom for event display
95     ClassDef(AliMUONConstants, 0)             // MUON global constants 
96 };
97         
98 #endif
99
100
101
102
103
104
105
106