3 ////////////////////////////////////////////////////////////////////////////
5 // AliFast Detector Class //
7 // to provide information of effective material (X/Xo) of the detector //
8 // needed for the multiple scattering formula used in AliFTrackMaker. //
10 // the number and dimensions of cylindrical layers of material are //
11 // initialised here for the TP status and are to be updated accordingly. //
13 // this class is replacing the "init_geometry" routine of program "res.f //
15 ////////////////////////////////////////////////////////////////////////////
17 //#ifndef ROOT_TObject
21 enum { kNMaxDet = 100 };
22 enum { kNMaxDet2 = 200 };
25 class AliFDet : public TNamed {
29 AliFDet(const char *name, const char *title);
32 // Initialise parameters for detector geometry
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;}
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
79 ClassDef(AliFDet,1) //AliFast Detector intialisation for AliFTrackMaker