/// \class AliMUONResponse
/// \brief Chamber response base class
-#include <TObject.h>
+#ifndef ROOT_TObject
+#include "TObject.h"
+#endif
-class TF1;
+class AliMUONDigit;
class AliMUONGeometrySegmentation;
+class AliMUONHit;
class AliMUONTransientDigit;
+class TF1;
+class TList;
class AliMUONResponse : public TObject
{
//
// Chamber response methods
// Pulse height from scored quantity (eloss)
- virtual Float_t IntPH(Float_t) {return 1.;}
+ virtual Float_t IntPH(Float_t) const {return 1.;}
// Charge disintegration
- virtual Float_t IntXY(Int_t, AliMUONGeometrySegmentation*) {return 1.;}
+ virtual Float_t IntXY(Int_t, AliMUONGeometrySegmentation*) const {return 1.;}
// Noise, zero-suppression, adc saturation
//virtual Int_t DigitResponse(Int_t ) {return kTRUE;}
virtual Int_t DigitResponse(Int_t ,
- AliMUONTransientDigit* ) {return kTRUE;}
+ AliMUONTransientDigit* ) const {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
};