New macro "MUONTracker" to make track reconstruction from reference tracks.
[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 #include <TObject.h>
10
11 class AliMUONConstants : public TObject {
12  public:
13     // return number of chambers
14     static Int_t    NCh() {return fgNCh;}
15     // return number of tracking chambers
16     static Int_t    NTrackingCh() {return fgNTrackingCh;}
17     // return number of trigger chambers
18     static Int_t    NTriggerCh() {return fgNTriggerCh;}
19     // return number of trigger circuits
20     static Int_t    NTriggerCircuit() {return fgNTriggerCircuit;}
21     // return number of detection elements in chamber i
22     static Int_t    NofDetElements(Int_t i) {return fgNofDetElements[i];}
23     // return position of chamber i
24     static Float_t  DefaultChamberZ(Int_t i) {return fgDefaultChamberZ[i];}
25     // return pointer to array of positions
26     static Float_t* DefaultChamberZ() {return fgDefaultChamberZ;}
27     // return chamber i inner diameter
28     static Float_t  Dmin(Int_t i) {return fgDmin[i];}
29     // return chamber i outer diameter
30     static Float_t  Dmax(Int_t i) {return fgDmax[i];}
31     // return maximum zoom for event display
32     static Int_t    MaxZoom() {return fgMaxZoom;}
33     // return half-distance between two half-chambers
34     static Float_t    DzCh() {return fgDzCh;}
35     // return half-distance between two slats
36     static Float_t    DzSlat() {return fgDzSlat;}
37
38     // Conversion functions between chamber Id and detection element Id
39     static  Int_t GetChamberId(Int_t detElemId); 
40     static  Int_t GetFirstDetElemId(Int_t chamberId); 
41
42     static  Int_t ChamberNumber(Float_t z); 
43
44  protected:
45     AliMUONConstants() : TObject() {}
46     virtual ~AliMUONConstants(){}
47
48  private:
49     static Int_t  fgNCh;                //  Number of Chambers    
50     static Int_t  fgNTrackingCh;        //  Number of Tracking Chambers
51     static Int_t  fgNTriggerCh;         //  Number of Trigger Chambers
52     static Int_t  fgNTriggerCircuit;    //  Number of Trigger Circuits
53 //
54     static Int_t    fgNofDetElements[14];     // ! Number of detection elements in chambers
55     static Float_t  fgDefaultChamberZ[14];    // ! Z-positions of chambers
56     static Float_t  fgDmin[7];                // ! inner diameter
57     static Float_t  fgDmax[7];                // ! outer diameter
58
59     static Float_t  fgDzCh;             // half-distance between two half-chambers 
60     static Float_t  fgDzSlat;           // half-distance between two slat on the same chamber
61
62 //
63     static Int_t    fgMaxZoom;                // Maximum Zoom for event display
64     ClassDef(AliMUONConstants, 0)             // MUON global constants 
65 };
66         
67 #endif
68
69
70
71
72
73
74
75