dee1d5f1 |
1 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
2 | * See cxx source for full Copyright notice */ |
3 | |
5f91c9e8 |
4 | // $Id$ |
13985652 |
5 | // $MpId: AliMpVIndexed.h,v 1.7 2006/05/24 13:58:07 ivana Exp $ |
dee1d5f1 |
6 | |
7 | /// \ingroup basic |
8 | /// \class AliMpVIndexed |
9 | /// \brief Base class that defines the limits of global pad indices. |
10 | /// |
13985652 |
11 | /// \author David Guez, Ivana Hrivnacova; IPN Orsay |
5f91c9e8 |
12 | |
13 | #ifndef ALI_MP_V_INDEXED_H |
14 | #define ALI_MP_V_INDEXED_H |
15 | |
16 | #include <TObject.h> |
17 | |
168e9c4d |
18 | #include "AliMpEncodePair.h" |
5f91c9e8 |
19 | |
20 | class AliMpVPadIterator; |
21 | |
22 | class AliMpVIndexed : public TObject |
23 | { |
24 | public: |
5f91c9e8 |
25 | AliMpVIndexed(); |
26 | virtual ~AliMpVIndexed(); |
27 | |
28 | // methods |
f5671fc3 |
29 | /// Create iterator over this element |
5f91c9e8 |
30 | virtual AliMpVPadIterator* CreateIterator() const = 0; |
168e9c4d |
31 | |
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; |
5f91c9e8 |
35 | |
36 | // set methods |
168e9c4d |
37 | void SetLowIndicesLimit(MpPair_t limit, Bool_t valid = true); |
38 | void SetLowIndicesLimit(Int_t ix, Int_t iy, Bool_t valid = true); |
39 | |
40 | void SetHighIndicesLimit(MpPair_t limit, Bool_t valid = true); |
41 | void SetHighIndicesLimit(Int_t ix, Int_t iy, Bool_t valid = true); |
5f91c9e8 |
42 | |
43 | // get methods |
168e9c4d |
44 | Bool_t HasIndices(MpPair_t indices) const; |
45 | Bool_t HasIndices(Int_t ix, Int_t iy) const; |
46 | Bool_t HasValidIndices() const; |
47 | |
48 | MpPair_t GetLowIndicesLimit() const; |
49 | Int_t GetLowLimitIx() const; |
50 | Int_t GetLowLimitIy() const; |
51 | Bool_t IsLowLimitValid() const; |
52 | |
53 | MpPair_t GetHighIndicesLimit() const; |
54 | Int_t GetHighLimitIx() const; |
55 | Int_t GetHighLimitIy() const; |
56 | Bool_t IsHighLimitValid() const; |
57 | |
5f91c9e8 |
58 | |
59 | private: |
60 | // data members |
168e9c4d |
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 |
5f91c9e8 |
65 | |
168e9c4d |
66 | ClassDef(AliMpVIndexed,2) // A motif position |
5f91c9e8 |
67 | }; |
68 | |
5f91c9e8 |
69 | |
70 | #endif //ALI_MP_V_INDEXED_H |