* See cxx source for full Copyright notice */
/* $Id$ */
+// Revision of includes 07/05/2004
+
+/// \ingroup base
+/// \class AliMUONDigit
+/// \brief MUON digit
#include <TObject.h>
class AliMUONDigit : public TObject {
public:
- AliMUONDigit() {}
+ AliMUONDigit();
+ AliMUONDigit(const AliMUONDigit& rhs);
AliMUONDigit(Int_t *digits);
AliMUONDigit(Int_t *tracks, Int_t *charges, Int_t *digits);
virtual ~AliMUONDigit();
+
+ AliMUONDigit& operator=(const AliMUONDigit& rhs);
+
+ virtual Bool_t IsSortable() const {return kTRUE;}
+ virtual int Compare(const TObject *obj) const;
+
+ virtual Int_t DetElemId()const {return fDetElemId;}
+ virtual Int_t PadX() const {return fPadX;}
+ virtual Int_t PadY() const {return fPadY;}
+ virtual Int_t Cathode() const {return fCathode;}
+
+ virtual Int_t Signal() const {return fSignal;}
+
+ virtual Int_t Physics() const {return fPhysics;}
+
+ virtual Int_t Hit() const {return fHit;}
+ virtual Int_t Track(Int_t i) const {return fTracks[i];}
+ virtual Int_t TrackCharge(Int_t i) const {return fTcharges[i];}
+
+ virtual Int_t ADC() const;
+ virtual Int_t ManuId() const;
+ virtual Int_t ManuChannel() const;
+ virtual Bool_t IsSaturated() const;
+
+ virtual void Saturated(Bool_t saturated=kTRUE);
+ virtual void SetElectronics(Int_t manuId, Int_t manuChannel);
+ virtual void SetADC(Int_t adc);
+ virtual void SetDetElemId(Int_t id) {fDetElemId = id;}
+ virtual void SetPadX(Int_t pad) {fPadX = pad;}
+ virtual void SetPadY(Int_t pad) {fPadY = pad;}
+ virtual void SetSignal(Int_t q) {fSignal = q;}
+ virtual void AddSignal(Int_t q) {fSignal += q;}
+ virtual void AddPhysicsSignal(Int_t q) {fPhysics += q;}
+ virtual void SetHit(Int_t n) {fHit = n;}
+ virtual void SetCathode(Int_t c) {fCathode = c;}
+ virtual void SetPhysicsSignal(Int_t q) {fPhysics = q; }
+
+ virtual void Print(Option_t* opt="") const;
+
+ virtual void Copy(TObject& digit) const;
- virtual Int_t PadX() {return fPadX;}
- virtual Int_t PadY() {return fPadY;}
- virtual Int_t Signal() {return fSignal;}
- virtual Int_t Physics() {return fPhysics;}
- virtual Int_t Hit() {return fHit;}
- virtual Int_t Cathode() {return fCathode;}
- virtual Int_t Track(Int_t i) {return fTracks[i];}
- virtual Int_t TrackCharge(Int_t i) {return fTcharges[i];}
- virtual void AddSignal(Int_t q) {fSignal += q;}
- virtual void AddPhysicsSignal(Int_t q) {fPhysics += q;}
private:
- Int_t fPadX; // Pad number along x
- Int_t fPadY; // Pad number along y
- Int_t fCathode; // Cathode number
+ Int_t fPadX; // Pad number along x
+ Int_t fPadY; // Pad number along y
+ Int_t fCathode; // Cathode number
- Int_t fSignal; // Signal amplitude
- Int_t fTcharges[kMAXTRACKS]; // charge per track making this digit (up to 10)
- Int_t fTracks[kMAXTRACKS]; // primary tracks making this digit (up to 10)
- Int_t fPhysics; // physics contribution to signal
- Int_t fHit; // hit number - temporary solution
+ Int_t fSignal; // Signal amplitude
+ Int_t fTcharges[kMAXTRACKS]; // charge per track making this digit (up to 10)
+ Int_t fTracks[kMAXTRACKS]; // primary tracks making this digit (up to 10)
+ Int_t fPhysics; // physics contribution to signal
+ Int_t fHit; // hit number - temporary solution
+ Int_t fDetElemId; // Detection element ID
- ClassDef(AliMUONDigit,1) //Digits for MUON
+ Int_t fManuId; // Id of the MANU chip.
+ Int_t fManuChannel; // Channel within the MANU chip.
+ Int_t fADC; // ADC value
+ Bool_t fIsSaturated; // Is the signal an overflow ?
+
+ ClassDef(AliMUONDigit,3) //Digits for MUON
};
#endif