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 Double_t fRDet[kNMaxDet]; // radius of detector material in cm
30 Double_t fRDetSQ[kNMaxDet]; // and the sq root of it
31 Double_t fThickDet[kNMaxDet]; // thickness divided by Xo
32 //errors due to detector precision plus alignement given by groups.
33 //they are momentum dependent; for TPC are calculated properly.
34 Double_t fErrorRPhi[kNMaxDet]; // error in bending direction
35 Double_t fErrorZ[kNMaxDet]; // error in z direction
36 Double_t fErrorR[kNMaxDet]; // error in r direction,from alignement only
37 Int_t fIFlagDet[kNMaxDet]; // 1: sensitive detector
38 // 2: errors will be calculated
39 Int_t fIFlagGas[kNMaxDet]; // for gas detectors
40 //vertex precision calculated for particle multiplicity mult_density
41 //high multiplicity results in optimistic errors for vertex
42 Double_t fErrorVertexX; // vertex precision in x
43 Double_t fErrorVertexY; // vertex precision in y
44 Double_t fErrorVertexZ; // vertex precision in z
45 Double_t fBMag; // magnetic field in KGauss
46 Double_t fConstMag; //
47 Int_t fNDetActive; // n. of active detector layers
48 Int_t fNDet; // n. of detectors layers
52 AliFDet(const char *name, const char *title);
55 // Initialise parameters for detector geometry
61 Double_t RDet(Int_t idDet) {return fRDet[idDet];}
62 Double_t RDetSQ(Int_t idDet) {return fRDetSQ[idDet];}
63 Double_t ThickDet(Int_t idDet) {return fThickDet[idDet];}
64 Double_t ErrorRPhi(Int_t idDet) {return fErrorRPhi[idDet];}
65 Double_t ErrorZ(Int_t idDet) {return fErrorZ[idDet];}
66 Double_t ErrorR(Int_t idDet) {return fErrorR[idDet];}
67 Int_t IFlagDet(Int_t idDet) {return fIFlagDet[idDet];}
68 Int_t IFlagGas(Int_t idDet) {return fIFlagGas[idDet];}
69 Double_t ErrorVertexX() {return fErrorVertexX;}
70 Double_t ErrorVertexY() {return fErrorVertexY;}
71 Double_t ErrorVertexZ() {return fErrorVertexZ;}
72 Double_t BMag() {return fBMag;}
73 Double_t ConstMag() {return fConstMag;}
74 Int_t NDetActive() {return fNDetActive;}
75 Int_t NDet() {return fNDet;}
78 ClassDef(AliFDet,1) //AliFast Detector intialisation for AliFTrackMaker