]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpVIndexed.h
Corrected delete
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpVIndexed.h
1 // $Id$
2 // Category: basic
3 //
4 // Class AliMpVIndexed
5 // -------------------
6 // Class that defines the limits of global pad indices.
7 //
8 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
9
10 #ifndef ALI_MP_V_INDEXED_H
11 #define ALI_MP_V_INDEXED_H
12
13 #include <TObject.h>
14
15 #include "AliMpIntPair.h"
16
17 class AliMpVPadIterator;
18
19 class AliMpVIndexed : public TObject
20 {
21  public:
22   AliMpVIndexed(const AliMpIntPair& lowLimit, const AliMpIntPair& highLimit);
23   AliMpVIndexed();
24   virtual ~AliMpVIndexed();
25
26   // methods
27   virtual AliMpVPadIterator* CreateIterator() const = 0;
28   virtual AliMpIntPair  GlobalIndices(const AliMpIntPair& localIndices) const;
29
30   // set methods
31   void SetLowIndicesLimit(const AliMpIntPair& limit);
32   void SetHighIndicesLimit(const AliMpIntPair& limit);
33
34   // get methods
35   Bool_t    HasIndices(const AliMpIntPair& indices) const;
36   Bool_t    HasValidIndices() const;
37   AliMpIntPair  GetLowIndicesLimit() const;
38   AliMpIntPair  GetHighIndicesLimit() const;
39
40  private:
41   // data members 
42   AliMpIntPair   fLowIndicesLimit;  // the lowest global pad indices 
43   AliMpIntPair   fHighIndicesLimit; // the hihgest global pad indices 
44
45   ClassDef(AliMpVIndexed,1) // A motif position
46 };
47
48 // inline functions
49
50 inline void AliMpVIndexed::SetLowIndicesLimit(const AliMpIntPair& limit)
51 { fLowIndicesLimit = limit; }
52   
53 inline void AliMpVIndexed::SetHighIndicesLimit(const AliMpIntPair& limit)
54 { fHighIndicesLimit = limit; }  
55   
56 inline AliMpIntPair AliMpVIndexed::GetLowIndicesLimit() const
57 { return fLowIndicesLimit; }
58
59 inline AliMpIntPair AliMpVIndexed::GetHighIndicesLimit() const
60 { return fHighIndicesLimit; }
61
62 #endif //ALI_MP_V_INDEXED_H