Improving stepmanager and reponse function of the chambers: gain and saturation ...
[u/mrichter/AliRoot.git] / MUON / AliMUONResponse.h
1 #ifndef ALIMUONRESPONSE_H
2 #define ALIMUONRESPONSE_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 #include "TObject.h"
9
10 class TF1;
11 class AliSegmentation;
12 class AliMUONTransientDigit;
13
14 class AliMUONResponse :
15 public TObject {
16  public:
17     //
18     // Configuration methods
19     //
20     // Set number of sigmas over which cluster disintegration is performed
21     virtual void    SetSigmaIntegration(Float_t p1)           =0;
22     // Get number of sigmas over which cluster disintegration is performed
23     virtual Float_t SigmaIntegration()                        =0;
24     // Set single electron pulse height (ADCcounts/e)
25     virtual void    SetChargeSlope(Float_t p1)                =0;
26     // Get single electron pulse height (ADCcounts/e)
27     virtual Float_t ChargeSlope()                             =0;
28     // Set sigmas of the charge spread function
29     virtual void    SetChargeSpread(Float_t p1, Float_t p2)   =0;
30     // Get sigma_X of the charge spread function
31     virtual Float_t ChargeSpreadX()                           =0;
32     // Get sigma_Y of the charge spread function
33     virtual Float_t ChargeSpreadY()                           =0;
34     // Set maximum Adc-count value
35     virtual void    SetMaxAdc(Int_t p1)                       =0;
36     // Set saturation value
37     virtual void    SetSaturation(Int_t p1)                   =0;
38     // Set zero suppression threshold
39     virtual void    SetZeroSuppression(Int_t val)             =0;
40     // Get maximum Adc-count value
41     virtual Int_t MaxAdc()                                    =0;
42     // Get saturation value
43     virtual Int_t Saturation()                                =0;
44     // Get maximum zero suppression threshold
45     virtual Int_t ZeroSuppression()                           =0;
46     // Set anode cathode Pitch
47     virtual void    SetPitch(Float_t)                         =0;
48     // Get anode cathode Pitch
49     virtual Float_t Pitch()                                   =0;
50     // Set the charge correlation
51     virtual void SetChargeCorrel(Float_t correl)              =0;
52     // Get the charge correlation
53     virtual Float_t ChargeCorrel()                            =0;
54     //  
55     // Chamber response methods
56     // Pulse height from scored quantity (eloss)
57     virtual Float_t IntPH(Float_t eloss)                      =0;
58     // Charge disintegration 
59     virtual Float_t IntXY(AliSegmentation *)                  =0;
60     // Noise, zero-suppression, adc saturation
61     //virtual Int_t DigitResponse(Int_t digit)                =0;
62     virtual Int_t DigitResponse(Int_t digit, 
63                                 AliMUONTransientDigit* where) =0;
64     // 
65     ClassDef(AliMUONResponse,1) // Chamber response virtual base class 
66 };
67 #endif
68
69
70
71
72
73
74