Added comments for inline functions
[u/mrichter/AliRoot.git] / ALIFAST / AliFDet.h
1 #ifndef AliFDet_H
2 #define AliFDet_H
3 ////////////////////////////////////////////////////////////////////////////
4 //                                                                        //
5 // AliFast Detector Class                                                 //
6 //                                                                        //
7 // to provide information of effective material (X/Xo) of the detector    //
8 // needed for the multiple scattering formula used in AliFTrackMaker.     // 
9 //                                                                        // 
10 // the number and dimensions of cylindrical layers of material are        //
11 // initialised here for the TP status and are to be updated accordingly.  //
12 //                                                                        //
13 // this class is replacing the "init_geometry" routine of program "res.f  //
14 //                                                                        // 
15 ////////////////////////////////////////////////////////////////////////////
16
17 //#ifndef ROOT_TObject
18 #include <TNamed.h>
19 //#endif
20
21 enum { kNMaxDet  = 100 };
22 enum { kNMaxDet2 = 200 };
23
24
25 class AliFDet : public TNamed {
26
27 public:
28                   AliFDet() {}
29                   AliFDet(const char *name, const char *title);
30    virtual       ~AliFDet() {}
31
32    // Initialise parameters for detector geometry
33    void           InitDetParam();
34    void           PrintDetInfo();
35
36
37    // Getters
38    Double_t        RDet(Int_t idDet) const {return fRDet[idDet];}         
39    Double_t        RDetSQ(Int_t idDet) const {return fRDetSQ[idDet];}     
40    Double_t        ThickDet(Int_t idDet) const {return fThickDet[idDet];}    
41    Double_t        ErrorRPhi(Int_t idDet) const {return fErrorRPhi[idDet];}  
42    Double_t        ErrorZ(Int_t idDet) const {return fErrorZ[idDet];}     
43    Double_t        ErrorR(Int_t idDet) const {return fErrorR[idDet];} 
44    Int_t           IFlagDet(Int_t idDet) const {return fIFlagDet[idDet];}   
45    Int_t           IFlagGas(Int_t idDet) const {return fIFlagGas[idDet];}   
46    Double_t        ErrorVertexX() const {return fErrorVertexX;} 
47    Double_t        ErrorVertexY() const {return fErrorVertexY;} 
48    Double_t        ErrorVertexZ() const {return fErrorVertexZ;} 
49    Double_t        BMag() const {return fBMag;}                  
50    Double_t        ConstMag() const {return fConstMag;}         
51    Int_t           NDetActive() const {return fNDetActive;}      
52    Int_t           NDet() const {return fNDet;}                 
53
54   
55 private:
56    //geometry parameters
57    Double_t        fRDet[kNMaxDet];         // radius of detector material in cm
58    Double_t        fRDetSQ[kNMaxDet];       // and the sq root of it
59    Double_t        fThickDet[kNMaxDet];     // thickness divided by Xo
60    //errors due to detector precision plus alignement given by groups. 
61    //they are momentum dependent; for TPC are calculated properly.
62    Double_t        fErrorRPhi[kNMaxDet];    // error in bending direction
63    Double_t        fErrorZ[kNMaxDet];       // error in z direction
64    Double_t        fErrorR[kNMaxDet];       // error in r direction,from alignement only 
65    Int_t           fIFlagDet[kNMaxDet];     // 1: sensitive detector 
66                                             // 2: errors will be calculated
67    Int_t           fIFlagGas[kNMaxDet];     // for gas detectors  
68    //vertex precision calculated for particle multiplicity mult_density
69    //high multiplicity results in optimistic errors for vertex   
70    Double_t        fErrorVertexX;           // vertex precision in x
71    Double_t        fErrorVertexY;           // vertex precision in y
72    Double_t        fErrorVertexZ;           // vertex precision in z
73    Double_t        fBMag;                   // magnetic field in KGauss
74    Double_t        fConstMag;               // Constant Magnetic Field flag
75    Int_t           fNDetActive;             // n. of active detector layers
76    Int_t           fNDet;                   // n. of detectors layers
77
78
79    ClassDef(AliFDet,1)   //AliFast Detector intialisation for AliFTrackMaker
80 };
81
82 #endif
83
84
85
86
87
88
89
90
91
92