Fixing a backward compatibility issue
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpVIndexed.h
CommitLineData
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
20class AliMpVPadIterator;
21
22class 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