new Hits2SDigits.
[u/mrichter/AliRoot.git] / RICH / AliRICHParam.h
CommitLineData
d48cca74 1#ifndef AliRICHParam_h
2#define AliRICHParam_h
3
4#include <TObject.h>
5#include "AliRICHConst.h"
6
7class AliRICHParam :public TObject
8{
9public:
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 84protected:
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