/* $Id$ */
// Revision of includes 07/05/2004
-#include <TObject.h>
+/// \ingroup sim
+/// \class AliMUONResponse
+/// \brief Chamber response base class
-class TF1;
-class AliSegmentation;
+#ifndef ROOT_TObject
+#include "TObject.h"
+#endif
+
+class AliMUONDigit;
+class AliMUONGeometrySegmentation;
+class AliMUONHit;
class AliMUONTransientDigit;
+class TF1;
+class TList;
class AliMUONResponse : public TObject
{
public:
AliMUONResponse();
- ~AliMUONResponse();
+ virtual ~AliMUONResponse();
//
// Configuration methods
// Get anode cathode Pitch
virtual Float_t Pitch() const {return 1.;}
// Set the charge correlation
- virtual void SetChargeCorrel(Float_t) {return;}
+ virtual void SetChargeCorrel(Float_t) {return;}
// Get the charge correlation
virtual Float_t ChargeCorrel() const {return 1.;}
//
// Chamber response methods
// Pulse height from scored quantity (eloss)
- virtual Float_t IntPH(Float_t) {return 1.;}
+ virtual Float_t IntPH(Float_t) {return 1.;}
// Charge disintegration
- virtual Float_t IntXY(AliSegmentation *) {return 1.;}
+ virtual Float_t IntXY(Int_t, AliMUONGeometrySegmentation*) {return 1.;}
+
// Noise, zero-suppression, adc saturation
//virtual Int_t DigitResponse(Int_t ) {return kTRUE;}
virtual Int_t DigitResponse(Int_t ,
AliMUONTransientDigit* ) {return kTRUE;}
+
+ /// Go from one hit to several digits, applying charge spreading.
+ virtual void DisIntegrate(const AliMUONHit& hit, TList& digits);
+
//
ClassDef(AliMUONResponse,1) // Chamber response virtual base class
};