]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONDigit.h
New class for managing buspatch<>DDL<>DE maps separated from
[u/mrichter/AliRoot.git] / MUON / AliMUONDigit.h
1 #ifndef ALIMUONDIGIT_H
2 #define ALIMUONDIGIT_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7 // Revision of includes 07/05/2004
8
9 /// \ingroup base
10 /// \class AliMUONDigit
11 /// \brief MUON digit
12
13 #include <TObject.h>
14
15 static const Int_t kMAXTRACKS=10;
16
17 class AliMUONDigit : public TObject {
18
19  public:
20     AliMUONDigit();
21     AliMUONDigit(const AliMUONDigit& rhs);
22     AliMUONDigit(Int_t *digits);
23     AliMUONDigit(Int_t *tracks, Int_t *charges, Int_t *digits);
24     virtual ~AliMUONDigit();
25
26     AliMUONDigit& operator=(const AliMUONDigit& rhs);
27     
28     virtual Bool_t IsSortable() const {return kTRUE;}
29     virtual int Compare(const TObject *obj) const;
30
31     virtual Int_t    DetElemId()const     {return fDetElemId;}
32     virtual Int_t    PadX() const         {return fPadX;}
33     virtual Int_t    PadY() const         {return fPadY;}
34     virtual Int_t    Signal() const       {return fSignal;}
35     virtual Int_t    Physics() const      {return fPhysics;}
36     virtual Int_t    Hit() const          {return fHit;}    
37     virtual Int_t    Cathode() const      {return fCathode;}
38     virtual Int_t    Track(Int_t i) const {return fTracks[i];}
39     virtual Int_t    TrackCharge(Int_t i) const {return fTcharges[i];} 
40
41     virtual void     SetDetElemId(Int_t id)    {fDetElemId = id;}
42     virtual void     SetPadX(Int_t pad)        {fPadX = pad;}
43     virtual void     SetPadY(Int_t pad)        {fPadY = pad;}
44     virtual void     SetSignal(Int_t q)        {fSignal = q;}
45     virtual void     AddSignal(Int_t q)        {fSignal += q;}
46     virtual void     AddPhysicsSignal(Int_t q) {fPhysics += q;}
47     virtual void     SetHit(Int_t n)           {fHit = n;}    
48     virtual void     SetCathode(Int_t c)       {fCathode = c;}
49   
50             
51  private:
52     Int_t     fPadX;          // Pad number along x
53     Int_t     fPadY;          // Pad number along y
54     Int_t     fCathode;       // Cathode number
55     
56     Int_t     fSignal;        // Signal amplitude
57     Int_t     fTcharges[kMAXTRACKS];  // charge per track making this digit (up to 10)
58     Int_t     fTracks[kMAXTRACKS];    // primary tracks making this digit (up to 10)
59     Int_t     fPhysics;       // physics contribution to signal 
60     Int_t     fHit;           // hit number - temporary solution
61     Int_t     fDetElemId;     // Detection element ID
62
63     ClassDef(AliMUONDigit,2)  //Digits for MUON
64 };
65 #endif