]> git.uio.no Git - u/mrichter/AliRoot.git/blob - RICH/AliRICHParam.h
09ca4fc928a7986d546813474d00f9e09f8988e4
[u/mrichter/AliRoot.git] / RICH / AliRICHParam.h
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();  
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;};       
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