]> git.uio.no Git - u/mrichter/AliRoot.git/blob - RICH/AliRICHResponseV0.h
New function CreateGeometryforSUpport()
[u/mrichter/AliRoot.git] / RICH / AliRICHResponseV0.h
1 #ifndef ALIRICHRESPONSEV0_H
2 #define ALIRICHRESPONSEV0_H
3
4
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6  * See cxx source for full Copyright notice                               */
7
8 /* $Id$ */
9
10
11 #include "AliRICHResponse.h"
12 class AliSegmentation;
13
14
15 class AliRICHResponseV0 : //Mathieson response
16 public AliRICHResponse {
17  public:
18     AliRICHResponseV0(){}
19     virtual ~AliRICHResponseV0(){}
20     //
21     // Configuration methods
22     // 
23     // Number of sigmas over which cluster didintegration is performed
24     virtual void    SetSigmaIntegration(Float_t p1) {fSigmaIntegration=p1;}
25     virtual Float_t SigmaIntegration() {return fSigmaIntegration;}    
26     // charge slope in ADC/e
27     virtual void    SetChargeSlope(Float_t p1) {fChargeSlope=p1;}
28     virtual Float_t ChargeSlope()      {return fChargeSlope;}
29     // sigma of the charge spread function
30     virtual void    SetChargeSpread(Float_t p1, Float_t p2)
31         {fChargeSpreadX=p1; fChargeSpreadY=p2;}
32     virtual Float_t ChargeSpreadX()    {return fChargeSpreadX;}    
33     virtual Float_t ChargeSpreadY()    {return fChargeSpreadY;}        
34     // Adc-count saturation value
35     virtual void    SetMaxAdc(Float_t p1) {fMaxAdc=p1;}
36     virtual Float_t MaxAdc()           {return fMaxAdc;}
37     // anode cathode Pitch
38     virtual Float_t Pitch()            {return fPitch;}
39     virtual void    SetPitch(Float_t p1) {fPitch=p1;};
40     // alpha feedback
41     virtual void    SetAlphaFeedback(Float_t alpha) {fAlphaFeedback=alpha;}
42     virtual Float_t AlphaFeedback()  {return fAlphaFeedback;}
43     // ionisation enrgy
44     virtual void    SetEIonisation(Float_t e) {fEIonisation=e;}
45     virtual Float_t EIonisation() {return fEIonisation;}                            
46     // Mathieson parameters
47     virtual void   SetSqrtKx3(Float_t p1) {fSqrtKx3=p1;};
48     virtual void   SetKx2(Float_t p1) {fKx2=p1;};
49     virtual void   SetKx4(Float_t p1) {fKx4=p1;};
50     virtual void   SetSqrtKy3(Float_t p1) {fSqrtKy3=p1;};
51     virtual void   SetKy2(Float_t p1) {fKy2=p1;};
52     virtual void   SetKy4(Float_t p1) {fKy4=p1;};
53     //  
54     // Chamber response methods
55     // Pulse height from scored quantity (eloss)
56     virtual Float_t IntPH(Float_t eloss);
57     virtual Float_t IntPH();
58     // Charge disintegration
59     virtual Float_t IntXY(AliSegmentation * segmentation);
60     virtual Int_t   FeedBackPhotons(Float_t *source, Float_t qtot);
61         protected:
62     Float_t fChargeSlope;              // Slope of the charge distribution
63     Float_t fChargeSpreadX;            // Width of the charge distribution in x
64     Float_t fChargeSpreadY;            // Width of the charge distribution in y
65     Float_t fSigmaIntegration;         // Number of sigma's used for charge distribution
66     Float_t fAlphaFeedback;            // Feedback photons coefficient
67     Float_t fEIonisation;              // Mean ionisation energy
68     Float_t fMaxAdc;                   // Maximum ADC channel
69     Float_t fSqrtKx3;         // Mathieson parameters for x
70     Float_t fKx2;             // Mathieson parameters for x
71     Float_t fKx4;             // Mathieson parameters for x
72     Float_t fSqrtKy3;         // Mathieson parameters for y
73     Float_t fKy2;             // Mathieson parameters for y 
74     Float_t fKy4;             // Mathieson parameters for y
75     Float_t fPitch;           //anode-cathode pitch
76     ClassDef(AliRICHResponseV0,1)
77 };
78 #endif