]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpVIndexed.h
Implemented write and read methods (with real mapping for tracker chamber) (Christian)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpVIndexed.h
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.5 2005/08/26 15:43:36 ivana Exp $
6
7 /// \ingroup basic
8 /// \class AliMpVIndexed
9 /// \brief Base class that defines the limits of global pad indices.
10 ///
11 /// Authors: 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 "AliMpIntPair.h"
19
20 class AliMpVPadIterator;
21
22 class AliMpVIndexed : public TObject
23 {
24  public:
25   AliMpVIndexed(const AliMpIntPair& lowLimit, const AliMpIntPair& highLimit);
26   AliMpVIndexed();
27   virtual ~AliMpVIndexed();
28
29   // methods
30   virtual AliMpVPadIterator* CreateIterator() const = 0;
31   virtual AliMpIntPair  GlobalIndices(const AliMpIntPair& localIndices) const;
32
33   // set methods
34   void SetLowIndicesLimit(const AliMpIntPair& limit);
35   void SetHighIndicesLimit(const AliMpIntPair& limit);
36
37   // get methods
38   Bool_t    HasIndices(const AliMpIntPair& indices) const;
39   Bool_t    HasValidIndices() const;
40   AliMpIntPair  GetLowIndicesLimit() const;
41   AliMpIntPair  GetHighIndicesLimit() const;
42
43  private:
44   // data members 
45   AliMpIntPair   fLowIndicesLimit;  // the lowest global pad indices 
46   AliMpIntPair   fHighIndicesLimit; // the hihgest global pad indices 
47
48   ClassDef(AliMpVIndexed,1) // A motif position
49 };
50
51 // inline functions
52
53 inline void AliMpVIndexed::SetLowIndicesLimit(const AliMpIntPair& limit)
54 { fLowIndicesLimit = limit; }
55   
56 inline void AliMpVIndexed::SetHighIndicesLimit(const AliMpIntPair& limit)
57 { fHighIndicesLimit = limit; }  
58   
59 inline AliMpIntPair AliMpVIndexed::GetLowIndicesLimit() const
60 { return fLowIndicesLimit; }
61
62 inline AliMpIntPair AliMpVIndexed::GetHighIndicesLimit() const
63 { return fHighIndicesLimit; }
64
65 #endif //ALI_MP_V_INDEXED_H