]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONDigit.h
Added 4 data members : manuId, manuChannel (to ease calibration data access),
[u/mrichter/AliRoot.git] / MUON / AliMUONDigit.h
index 13427e488f5afece28e58b836289ca03b2baab6e..4b94ea10c66320e8d9cf79968e75ec081a14e460 100644 (file)
@@ -4,6 +4,11 @@
  * See cxx source for full Copyright notice                               */
 
 /* $Id$ */
+// Revision of includes 07/05/2004
+
+/// \ingroup base
+/// \class AliMUONDigit
+/// \brief MUON digit
 
 #include <TObject.h>
 
@@ -12,35 +17,69 @@ static const Int_t kMAXTRACKS=10;
 class AliMUONDigit : public TObject {
 
  public:
-    AliMUONDigit() {}
-    AliMUONDigit(const 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& );
-    
-    virtual Int_t    PadX() const         {return fPadX;}
-    virtual Int_t    PadY() const         {return fPadY;}
-    virtual Int_t    Signal() const       {return fSignal;}
-    virtual Int_t    Physics() const      {return fPhysics;}
-    virtual Int_t    Hit() const          {return fHit;}    
-    virtual Int_t    Cathode() const      {return fCathode;}
-    virtual Int_t    Track(Int_t i) const {return fTracks[i];}
-    virtual Int_t    TrackCharge(Int_t i) const {return fTcharges[i];}    
-    virtual void     AddSignal(Int_t q)   {fSignal += q;}
-    virtual void     AddPhysicsSignal(Int_t q)   {fPhysics += q;}          
+    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;
+    
  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