1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 // $MpId: AliMpVIndexed.h,v 1.7 2006/05/24 13:58:07 ivana Exp $
8 /// \class AliMpVIndexed
9 /// \brief Base class that defines the limits of global pad indices.
11 /// \author David Guez, Ivana Hrivnacova; IPN Orsay
13 #ifndef ALI_MP_V_INDEXED_H
14 #define ALI_MP_V_INDEXED_H
18 #include "AliMpEncodePair.h"
20 class AliMpVPadIterator;
22 class AliMpVIndexed : public TObject
26 virtual ~AliMpVIndexed();
29 /// Create iterator over this element
30 virtual AliMpVPadIterator* CreateIterator() const = 0;
32 virtual MpPair_t GlobalIndices(MpPair_t localIndices) const;
33 virtual Int_t GlobalIx(Int_t localIx) const;
34 virtual Int_t GlobalIy(Int_t localIy) const;
37 void SetLowIndicesLimit(MpPair_t limit, Bool_t valid = true);
38 void SetLowIndicesLimit(Int_t ix, Int_t iy, Bool_t valid = true);
40 void SetHighIndicesLimit(MpPair_t limit, Bool_t valid = true);
41 void SetHighIndicesLimit(Int_t ix, Int_t iy, Bool_t valid = true);
44 Bool_t HasIndices(MpPair_t indices) const;
45 Bool_t HasIndices(Int_t ix, Int_t iy) const;
46 Bool_t HasValidIndices() const;
48 MpPair_t GetLowIndicesLimit() const;
49 Int_t GetLowLimitIx() const;
50 Int_t GetLowLimitIy() const;
51 Bool_t IsLowLimitValid() const;
53 MpPair_t GetHighIndicesLimit() const;
54 Int_t GetHighLimitIx() const;
55 Int_t GetHighLimitIy() const;
56 Bool_t IsHighLimitValid() const;
61 MpPair_t fLowLimit; ///< the lowest global pad indices
62 MpPair_t fHighLimit; ///< the highest global pad indices
63 Bool_t fLowValid; ///< true, if low indices limit is set
64 Bool_t fHighValid; ///< true, if high indices imit is set
66 ClassDef(AliMpVIndexed,2) // A motif position
70 #endif //ALI_MP_V_INDEXED_H