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