New class AliESDEvent, backward compatibility with the old AliESD (Christian)
[u/mrichter/AliRoot.git] / FMD / AliFMDBaseDigit.h
1 #ifndef ALIFMDBASEDIGIT_H
2 #define ALIFMDBASEDIGIT_H
3 /** @file    AliFMDBaseDigit.h
4     @author  Christian Holm Christensen <cholm@nbi.dk>
5     @date    Mon Mar 27 12:37:41 2006
6     @brief   Digits for the FMD 
7     @ingroup FMD_base
8 */
9 //___________________________________________________________________
10 //
11 //  Digits classes for the FMD
12 //  AliFMDBaseDigit - base class 
13 //  AliFMDDigit     - Normal (smeared) digit             
14 //  AliFMDSDigit    - Summable (non-smeared) digit             
15 //
16 #ifndef ROOT_TObject
17 # include <TObject.h>
18 #endif
19 #ifndef ROOT_TString
20 # include <TString.h>
21 #endif
22
23 //____________________________________________________________________
24 /** @class AliFMDBaseDigit AliFMDDigit.h <FMD/AliFMDDigit.h>
25     @brief base class for digits 
26     @ingroup FMD_base
27  */
28 class AliFMDBaseDigit : public TObject 
29 {
30 public: 
31   /** CTOR */
32   AliFMDBaseDigit();
33   /** Constrctor 
34       @param detector Detector 
35       @param ring     Ring
36       @param sector   Sector
37       @param strip    Strip */
38   AliFMDBaseDigit(UShort_t detector, 
39                   Char_t   ring='\0', 
40                   UShort_t sector=0, 
41                   UShort_t strip=0);
42   /** DTOR */
43   virtual ~AliFMDBaseDigit() {}
44   /** @return Detector # */
45   UShort_t     Detector()          const { return fDetector; }
46   /** @return Ring ID */
47   Char_t       Ring()              const { return fRing;     }
48   /** @return sector # */
49   UShort_t     Sector()            const { return fSector;   }
50   /** @return strip # */
51   UShort_t     Strip()             const { return fStrip;    }
52   /** Print information 
53       @param opt Not used */
54   virtual void Print(Option_t* opt="") const;
55   /** @return Name */
56   const char*  GetName() const;
57   /** @param rhs Other digit to compare to 
58       @return -1 if this is less than  @a rhs, 0 if the refer to the
59       same, and 1 if @a rhs is larger than this */
60   Int_t Compare(const TObject* o) const;
61   /** @return Always true */ 
62   Bool_t IsSortable() const { return kTRUE; }
63 protected:
64   ULong_t  Hash() const;
65   UShort_t fDetector;  // (Sub) Detector # (1,2, or 3)
66   Char_t   fRing;      // Ring ID ('I' or 'O')
67   UShort_t fSector;    // Sector # (phi division)
68   UShort_t fStrip;     // Strip # (radial division)
69   mutable TString  fName;      //! Name (cached, but not stored) 
70   ClassDef(AliFMDBaseDigit, 2) // Base class for FMD digits 
71 };
72
73 #endif
74 //____________________________________________________________________
75 //
76 // Local Variables:
77 //   mode: C++
78 // End:
79 //
80 //
81 // EOF
82 //