Line data Source code
1 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 : * See cxx source for full Copyright notice */
3 :
4 : // $Id$
5 : // $MpId: AliMpVIndexed.h,v 1.7 2006/05/24 13:58:07 ivana Exp $
6 :
7 : /// \ingroup basic
8 : /// \class AliMpVIndexed
9 : /// \brief Base class that defines the limits of global pad indices.
10 : ///
11 : /// \author David Guez, Ivana Hrivnacova; IPN Orsay
12 :
13 : #ifndef ALI_MP_V_INDEXED_H
14 : #define ALI_MP_V_INDEXED_H
15 :
16 : #include <TObject.h>
17 :
18 : #include "AliMpEncodePair.h"
19 :
20 : class AliMpVPadIterator;
21 :
22 0 : class AliMpVIndexed : public TObject
23 : {
24 : public:
25 : AliMpVIndexed();
26 : virtual ~AliMpVIndexed();
27 :
28 : // methods
29 : /// Create iterator over this element
30 : virtual AliMpVPadIterator* CreateIterator() const = 0;
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;
35 :
36 : // set methods
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);
42 :
43 : // get methods
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 :
58 :
59 : private:
60 : // data members
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
65 :
66 18 : ClassDef(AliMpVIndexed,2) // A motif position
67 : };
68 :
69 :
70 : #endif //ALI_MP_V_INDEXED_H
|