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
9 //___________________________________________________________________
11 // Digits classes for the FMD
12 // AliFMDBaseDigit - base class
13 // AliFMDDigit - Normal (smeared) digit
14 // AliFMDSDigit - Summable (non-smeared) digit
17 # include <AliDigit.h>
23 //____________________________________________________________________
25 * @class AliFMDBaseDigit AliFMDDigit.h <FMD/AliFMDDigit.h>
27 * @brief base class for digits
31 class AliFMDBaseDigit : public AliDigit
41 * @param detector Detector
43 * @param sector Sector
46 AliFMDBaseDigit(UShort_t detector,
53 * @param tracks Array of 3 track indicies
54 * @param detector Detector
56 * @param sector Sector
59 AliFMDBaseDigit(Int_t* tracks,
67 virtual ~AliFMDBaseDigit() {}
72 UShort_t Detector() const { return fDetector; }
77 Char_t Ring() const { return fRing; }
82 UShort_t Sector() const { return fSector; }
87 UShort_t Strip() const { return fStrip; }
93 virtual void Print(Option_t* opt="") const;
98 const char* GetName() const;
100 * @param rhs Other digit to compare to
102 * @return -1 if this is less than @a rhs, 0 if the refer to the
103 * same, and 1 if @a rhs is larger than this
105 Int_t Compare(const TObject* o) const;
108 * @return Always true
110 Bool_t IsSortable() const { return kTRUE; }
113 * Add a track referenc
115 * @param trackno The track number
117 void AddTrack(Int_t trackno);
120 * Get the number of track references (max 3)
123 * @return Number of valid track references.
125 UShort_t GetNTrack() const;
128 * Set the count value
130 * @param s Sample number
133 virtual void SetCount(UShort_t s, Short_t c) = 0;
136 * Calculate the hash value
141 ULong_t Hash() const;
142 UShort_t fDetector; // (Sub) Detector # (1,2, or 3)
143 Char_t fRing; // Ring ID ('I' or 'O')
144 UShort_t fSector; // Sector # (phi division)
145 UShort_t fStrip; // Strip # (radial division)
146 mutable TString fName; //! Name (cached, but not stored)
147 ClassDef(AliFMDBaseDigit, 3) // Base class for FMD digits
151 //____________________________________________________________________