]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ALIFAST/AliFDet.h
Initialize arrays in constructor (Ivana)
[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 {
09af0662 26
27public:
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
65a39007 54
55private:
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
09af0662 74 Double_t fConstMag; // Constant Magnetic Field flag
65a39007 75 Int_t fNDetActive; // n. of active detector layers
76 Int_t fNDet; // n. of detectors layers
77
65a39007 78
79 ClassDef(AliFDet,1) //AliFast Detector intialisation for AliFTrackMaker
80};
81
82#endif
83
84
85
86
87
88
89
90
91
92