]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONResponse.h
Sort clusters along etat to speed-up track finding + fix in number of steps for PbPb...
[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 TF1;
21 class TList;
22
23 class AliMUONResponse : public TObject 
24 {
25  public:
26     AliMUONResponse();
27     virtual ~AliMUONResponse();
28  
29     //
30     // Configuration methods
31     //
32     /// Set number of sigmas over which cluster disintegration is performed (dummy)
33     virtual void    SetSigmaIntegration(Float_t)           {return;}
34     /// Get number of sigmas over which cluster disintegration is performed (dummy)
35     virtual Float_t SigmaIntegration() const                  {return 1.;}
36     /// Set single electron pulse height (ADCcounts/e) (dummy)
37     virtual void    SetChargeSlope(Float_t )                {return;}
38     /// Get single electron pulse height (ADCcounts/e) (dummy)
39     virtual Float_t ChargeSlope() const                       {return 1.;}
40     /// Set sigmas of the charge spread function (dummy)
41     virtual void    SetChargeSpread(Float_t , Float_t )   {return;}
42     /// Get sigma_X of the charge spread function (dummy)
43     virtual Float_t ChargeSpreadX() const                     {return 1.;}
44     /// Get sigma_Y of the charge spread function (dummy)
45     virtual Float_t ChargeSpreadY() const                     {return 1.;}
46     /// Set maximum Adc-count value (dummy)
47     virtual void    SetMaxAdc(Int_t )                       {return;}
48     /// Set saturation value (dummy)
49     virtual void    SetSaturation(Int_t )                   {return;}
50     /// Set zero suppression threshold (dummy)
51     virtual void    SetZeroSuppression(Int_t )             {return;}
52     /// Get maximum Adc-count value (dummy)
53     virtual Int_t MaxAdc() const                              {return kTRUE;}
54     /// Get saturation value (dummy)
55     virtual Int_t Saturation() const                          {return kTRUE;}
56     /// Get maximum zero suppression threshold (dummy)
57     virtual Int_t ZeroSuppression() const                     {return kTRUE;}
58     /// Set anode cathode Pitch (dummy)
59     virtual void    SetPitch(Float_t)                         {return;}
60     /// Get anode cathode Pitch (dummy)
61     virtual Float_t Pitch() const                             {return 1.;}
62     /// Set the charge correlation (dummy)
63     virtual void SetChargeCorrel(Float_t)                     {return;}
64     /// Get the charge correlation (dummy)
65     virtual Float_t ChargeCorrel() const                      {return 1.;}
66     ///  
67     // Chamber response methods
68     /// Pulse height from scored quantity (eloss) (dummy)
69     virtual Float_t IntPH(Float_t) const                      {return 1.;}
70     /// Charge disintegration (dummy)
71     virtual Float_t IntXY(Int_t, AliMUONGeometrySegmentation*) const {return 1.;}
72     
73     //// Go from one hit to several digits, applying charge spreading.
74     virtual void DisIntegrate(const AliMUONHit& hit, TList& digits, Float_t timeDif);
75     
76     // 
77     ClassDef(AliMUONResponse,1) // Chamber response virtual base class 
78 };
79 #endif
80
81
82
83
84
85
86