Coding conventions (Laurent)
[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 // Revision of includes 07/05/2004
8
9 /// \ingroup sim
10 /// \class AliMUONResponse
11 /// \brief Chamber response base class
12
13 #ifndef ROOT_TObject
14 #include "TObject.h"
15 #endif
16
17 class AliMUONDigit;
18 class AliMUONGeometrySegmentation;
19 class AliMUONHit;
20 class AliMUONTransientDigit;
21 class TF1;
22 class TList;
23
24 class AliMUONResponse : public TObject 
25 {
26  public:
27     AliMUONResponse();
28     virtual ~AliMUONResponse();
29  
30     //
31     // Configuration methods
32     //
33     // Set number of sigmas over which cluster disintegration is performed
34     virtual void    SetSigmaIntegration(Float_t)           {return;}
35     // Get number of sigmas over which cluster disintegration is performed
36     virtual Float_t SigmaIntegration() const                  {return 1.;}
37     // Set single electron pulse height (ADCcounts/e)
38     virtual void    SetChargeSlope(Float_t )                {return;}
39     // Get single electron pulse height (ADCcounts/e)
40     virtual Float_t ChargeSlope() const                       {return 1.;}
41     // Set sigmas of the charge spread function
42     virtual void    SetChargeSpread(Float_t , Float_t )   {return;}
43     // Get sigma_X of the charge spread function
44     virtual Float_t ChargeSpreadX() const                     {return 1.;}
45     // Get sigma_Y of the charge spread function
46     virtual Float_t ChargeSpreadY() const                     {return 1.;}
47     // Set maximum Adc-count value
48     virtual void    SetMaxAdc(Int_t )                       {return;}
49     // Set saturation value
50     virtual void    SetSaturation(Int_t )                   {return;}
51     // Set zero suppression threshold
52     virtual void    SetZeroSuppression(Int_t )             {return;}
53     // Get maximum Adc-count value
54     virtual Int_t MaxAdc() const                              {return kTRUE;}
55     // Get saturation value
56     virtual Int_t Saturation() const                          {return kTRUE;}
57     // Get maximum zero suppression threshold
58     virtual Int_t ZeroSuppression() const                     {return kTRUE;}
59     // Set anode cathode Pitch
60     virtual void    SetPitch(Float_t)                         {return;}
61     // Get anode cathode Pitch
62     virtual Float_t Pitch() const                             {return 1.;}
63     // Set the charge correlation
64     virtual void SetChargeCorrel(Float_t)                     {return;}
65     // Get the charge correlation
66     virtual Float_t ChargeCorrel() const                      {return 1.;}
67     //  
68     // Chamber response methods
69     // Pulse height from scored quantity (eloss)
70     virtual Float_t IntPH(Float_t) const                      {return 1.;}
71     // Charge disintegration 
72     virtual Float_t IntXY(Int_t, AliMUONGeometrySegmentation*) const {return 1.;}
73
74     // Noise, zero-suppression, adc saturation
75     //virtual Int_t DigitResponse(Int_t )                {return kTRUE;}
76     virtual Int_t DigitResponse(Int_t , 
77                                 AliMUONTransientDigit* ) const {return kTRUE;}
78     
79     /// Go from one hit to several digits, applying charge spreading.
80     virtual void DisIntegrate(const AliMUONHit& hit, TList& digits);
81
82     // 
83     ClassDef(AliMUONResponse,1) // Chamber response virtual base class 
84 };
85 #endif
86
87
88
89
90
91
92