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 "AliMpIntPair.h"
20 class AliMpVPadIterator;
22 class AliMpVIndexed : public TObject
25 AliMpVIndexed(const AliMpIntPair& lowLimit, const AliMpIntPair& highLimit);
27 virtual ~AliMpVIndexed();
30 /// Create iterator over this element
31 virtual AliMpVPadIterator* CreateIterator() const = 0;
32 virtual AliMpIntPair GlobalIndices(const AliMpIntPair& localIndices) const;
35 void SetLowIndicesLimit(const AliMpIntPair& limit);
36 void SetHighIndicesLimit(const AliMpIntPair& limit);
39 Bool_t HasIndices(const AliMpIntPair& indices) const;
40 Bool_t HasValidIndices() const;
41 AliMpIntPair GetLowIndicesLimit() const;
42 AliMpIntPair GetHighIndicesLimit() const;
46 AliMpIntPair fLowIndicesLimit; ///< the lowest global pad indices
47 AliMpIntPair fHighIndicesLimit; ///< the hihgest global pad indices
49 ClassDef(AliMpVIndexed,1) // A motif position
54 /// Set low indices limit
55 inline void AliMpVIndexed::SetLowIndicesLimit(const AliMpIntPair& limit)
56 { fLowIndicesLimit = limit; }
58 /// Set high indices limit
59 inline void AliMpVIndexed::SetHighIndicesLimit(const AliMpIntPair& limit)
60 { fHighIndicesLimit = limit; }
62 /// Return low indices limit
63 inline AliMpIntPair AliMpVIndexed::GetLowIndicesLimit() const
64 { return fLowIndicesLimit; }
66 /// Return high indices limit
67 inline AliMpIntPair AliMpVIndexed::GetHighIndicesLimit() const
68 { return fHighIndicesLimit; }
70 #endif //ALI_MP_V_INDEXED_H