]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ALIFAST/AliFDet.h
Major upgrade of AliRoot code
[u/mrichter/AliRoot.git] / ALIFAST / AliFDet.h
CommitLineData
65a39007 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
21enum { kNMaxDet = 100 };
22enum { kNMaxDet2 = 200 };
23
24
25class AliFDet : public TNamed {
26
27private:
28 //geometry parameters
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
49
50public:
51 AliFDet() {}
52 AliFDet(const char *name, const char *title);
53 virtual ~AliFDet() {}
54
55 // Initialise parameters for detector geometry
56 void InitDetParam();
57 void PrintDetInfo();
58
59
60 // Getters
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;}
76
77
78 ClassDef(AliFDet,1) //AliFast Detector intialisation for AliFTrackMaker
79};
80
81#endif
82
83
84
85
86
87
88
89
90
91