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 */
7 // Revision of includes 07/05/2004
10 /// \class AliMUONResponse
11 /// \brief Chamber response base class
18 class AliMUONGeometrySegmentation;
20 class AliMUONTransientDigit;
24 class AliMUONResponse : public TObject
28 virtual ~AliMUONResponse();
31 // Configuration methods
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.;}
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.;}
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;}
79 /// Go from one hit to several digits, applying charge spreading.
80 virtual void DisIntegrate(const AliMUONHit& hit, TList& digits);
83 ClassDef(AliMUONResponse,1) // Chamber response virtual base class