]>
Commit | Line | Data |
---|---|---|
d48cca74 | 1 | #ifndef AliRICHParam_h |
2 | #define AliRICHParam_h | |
3 | ||
4 | #include <TObject.h> | |
5 | #include "AliRICHConst.h" | |
6 | ||
7 | class AliRICHParam :public TObject | |
8 | { | |
9 | public: | |
853634d3 | 10 | AliRICHParam(); |
11 | virtual ~AliRICHParam() {;} | |
12 | ||
13 | void Recalc();//Recalculate dependent parameters after changes applied | |
3ba5db3e | 14 | void Segmentation(Int_t Nx, Int_t Ny) {fNx=Nx;fNy=Ny;Recalc();} |
15 | Int_t Nx() const{return fNx;} | |
16 | Int_t Ny() const{return fNy;} | |
17 | void DeadZone(Float_t a) { fDeadZone=a;Recalc();} | |
18 | Float_t DeadZone() const{return fDeadZone;} | |
19 | void PadSize(Float_t x,Float_t y) { fPadX=x;fPadY=y;Recalc();} | |
20 | Float_t PadX() const{return fPadX;} | |
21 | Float_t PadY() const{return fPadY;} | |
22 | Float_t PadPlaneWidth() const{return fPadPlaneWidth;} | |
23 | Float_t PadPlaneLength() const{return fPadPlaneLength;} | |
853634d3 | 24 | |
3ba5db3e | 25 | void Size(Float_t x,Float_t y,Float_t z){fSizeX=x;fSizeY=y;fSizeZ=z;} |
853634d3 | 26 | void GeantSize(Float_t *pArr) const{pArr[0]=fSizeX/2;pArr[1]=fSizeY/2;pArr[2]=fSizeZ/2;} |
3ba5db3e | 27 | Float_t SizeX() const{return fSizeX;} |
28 | Float_t SizeY() const{return fSizeY;} | |
29 | Float_t SizeZ() const{return fSizeZ;} | |
30 | void Offset(Float_t offset) { fOffset=offset;} | |
31 | Float_t Offset() const{return fOffset;} | |
853634d3 | 32 | void Angles(Float_t xy,Float_t yz) { fAngleXY=xy;fAngleYZ=yz;} |
3ba5db3e | 33 | Float_t AngleYZ() const{return fAngleYZ*d2r;} |
34 | Float_t AngleXY() const{return fAngleXY*d2r;} | |
35 | void AngleRot(Float_t angle) { fAngleRot=angle;} | |
36 | Float_t AngleRot() const{return fAngleRot*d2r;} | |
37 | void GapThickness(Float_t a) { fGapThickness=a;} | |
38 | Float_t GapThickness() const{return fGapThickness;} | |
39 | void ProximityGapThickness(Float_t a) { fProximityGapThickness=a;} | |
40 | Float_t ProximityGapThickness() const{return fProximityGapThickness;} | |
41 | void QuartzLength(Float_t a) { fQuartzLength=a;} | |
42 | Float_t QuartzLength() const{return fQuartzLength;} | |
43 | void QuartzWidth(Float_t a) { fQuartzWidth=a;} | |
44 | Float_t QuartzWidth() const{return fQuartzWidth;} | |
45 | void QuartzThickness(Float_t a) { fQuartzThickness=a;} | |
46 | Float_t QuartzThickness() const{return fQuartzThickness;} | |
47 | void OuterFreonLength(Float_t a) { fOuterFreonLength=a;} | |
48 | Float_t OuterFreonLength() const{return fOuterFreonLength;} | |
49 | void OuterFreonWidth(Float_t a) { fOuterFreonWidth=a;} | |
50 | Float_t OuterFreonWidth() const{return fOuterFreonWidth;} | |
51 | void InnerFreonLength(Float_t a) { fInnerFreonLength=a;} | |
52 | Float_t InnerFreonLength() const{return fInnerFreonLength;} | |
53 | void InnerFreonWidth(Float_t a) { fInnerFreonWidth=a;} | |
54 | Float_t InnerFreonWidth() const{return fInnerFreonWidth;} | |
55 | void FreonThickness(Float_t a) { fFreonThickness=a;} | |
56 | Float_t FreonThickness() const{return fFreonThickness;} | |
57 | void RadiatorToPads(Float_t a) { fRadiatorToPads=a;} | |
58 | Float_t RadiatorToPads() const{return fRadiatorToPads;} | |
59 | ||
60 | void SigmaIntegration(Float_t a) { fSigmaIntegration=a;} | |
61 | Float_t SigmaIntegration() const{return fSigmaIntegration;} | |
62 | void ChargeSpreadX(Float_t a) { fChargeSpreadX=a;} | |
63 | Float_t ChargeSpreadX() const{return fChargeSpreadX;} | |
64 | void ChargeSpreadY(Float_t a) { fChargeSpreadY=a;} | |
65 | Float_t ChargeSpreadY() const{return fChargeSpreadY;} | |
66 | void ChargeSlope(Float_t a) { fChargeSlope=a;} | |
67 | Float_t ChargeSlope() {return fChargeSlope;} | |
68 | void MaxAdc(Float_t a) { fMaxAdc=a;} | |
69 | Float_t MaxAdc() const{return fMaxAdc;} | |
70 | void Pitch(Float_t a) { fPitch=a;}; | |
71 | Float_t Pitch() const{return fPitch;} | |
72 | void AlphaFeedback(Float_t a) { fAlphaFeedback=a;} | |
73 | Float_t AlphaFeedback() const{return fAlphaFeedback;} | |
74 | void EIonisation(Float_t a) { fEIonisation=a;} | |
75 | Float_t EIonisation() const{return fEIonisation;} | |
76 | void SqrtKx3(Float_t a) { fSqrtKx3=a;}; | |
77 | void Kx2(Float_t a) { fKx2=a;}; | |
78 | void Kx4(Float_t a) { fKx4=a;}; | |
79 | void SqrtKy3(Float_t a) { fSqrtKy3=a;}; | |
80 | void Ky2(Float_t a) { fKy2=a;}; | |
81 | void Ky4(Float_t a) { fKy4=a;}; | |
82 | void WireSag(Int_t a) { fWireSag=a;}; | |
83 | void Voltage(Int_t a) { fVoltage=a;}; | |
d48cca74 | 84 | protected: |
85 | Int_t fNx; //number of pads along X | |
86 | Int_t fNy; //number of pads along Y | |
87 | Float_t fDeadZone; //spacer between PC planes, cm | |
88 | Float_t fPadX; //pad width, cm | |
89 | Float_t fPadY; //pad lenght, cm | |
90 | Float_t fPadPlaneWidth; //pad plane width, cm | |
91 | Float_t fPadPlaneLength; //pad plane length, cm | |
92 | ||
93 | Float_t fSizeX; //chamber length, cm | |
94 | Float_t fSizeY; //chamber thickness, cm | |
95 | Float_t fSizeZ; //chamber width, cm | |
853634d3 | 96 | Float_t fAngleRot; //azimuthal rotation angle in X-Y plane, deg |
97 | Float_t fAngleYZ; //angle between RICH chambers in YZ plane, deg | |
98 | Float_t fAngleXY; //angle between RICH chambers in XY plane, deg | |
d48cca74 | 99 | Float_t fOffset; //chambers offset from IP, cm |
100 | Float_t fGapThickness; //gap thickness, cm | |
101 | Float_t fProximityGapThickness; //proximity gap thickness, cm | |
853634d3 | 102 | Float_t fQuartzLength; //quartz length, cm |
103 | Float_t fQuartzWidth; //quartz width, cm | |
104 | Float_t fQuartzThickness; //quartz thickness, cm | |
105 | Float_t fOuterFreonLength; //outer freon length, cm | |
106 | Float_t fOuterFreonWidth; //outer freon width, cm | |
107 | Float_t fInnerFreonLength; //inner freon length, cm | |
108 | Float_t fInnerFreonWidth; //inner freon width, cm | |
d48cca74 | 109 | Float_t fFreonThickness; //freon thickness |
853634d3 | 110 | Float_t fRadiatorToPads; //distance from radiator to pads, cm |
d48cca74 | 111 | |
112 | Float_t fChargeSlope; //Slope of the charge distribution | |
113 | Float_t fChargeSpreadX; //Width of the charge distribution in x | |
114 | Float_t fChargeSpreadY; //Width of the charge distribution in y | |
115 | Float_t fSigmaIntegration; //Number of sigma's used for charge distribution | |
116 | Float_t fAlphaFeedback; //Feedback photons coefficient | |
117 | Float_t fEIonisation; //Mean ionisation energy | |
118 | Float_t fMaxAdc; //Maximum ADC channel | |
119 | Float_t fSqrtKx3; //Mathieson parameters for x | |
120 | Float_t fKx2; //Mathieson parameters for x | |
121 | Float_t fKx4; //Mathieson parameters for x | |
122 | Float_t fSqrtKy3; //Mathieson parameters for y | |
123 | Float_t fKy2; //Mathieson parameters for y | |
124 | Float_t fKy4; //Mathieson parameters for y | |
125 | Float_t fPitch; //Anode-cathode pitch | |
126 | Int_t fWireSag; //Flag to turn on/off (0/1) wire sag | |
127 | Int_t fVoltage; //Working voltage (2000, 2050, 2100, 2150) | |
128 | ||
129 | ClassDef(AliRICHParam,1) //RICH main parameters | |
130 | }; | |
131 | ||
132 | #endif //AliRICHParam_h |