Bug fix
[u/mrichter/AliRoot.git] / FMD / AliFMDBaseDigit.h
CommitLineData
02a27b50 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 */
28class AliFMDBaseDigit : public TObject
29{
30public:
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; }
63protected:
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//