Changed default OCDB from 2009 to 2010
[u/mrichter/AliRoot.git] / MUON / AliMUON2DMapIteratorByI.h
1 #ifndef ALIMUON2DMAPITERATORBYI_H
2 #define ALIMUON2DMAPITERATORBYI_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice                               */
6
7 // $Id$
8
9 /// \ingroup core
10 /// \class AliMUON2DMapIteratorByI
11 /// \brief Implementation of TIterator for 2D maps
12 /// 
13 //  Author Laurent Aphecetche
14
15 #ifndef ROOT_TIterator
16 #  include "TIterator.h"
17 #endif
18
19 class AliMpExMap;
20 class AliMpExMapIterator;
21
22 //_____________________________________________________________________________
23 class AliMUON2DMapIteratorByI : public TIterator
24 {
25 public:
26   AliMUON2DMapIteratorByI(const AliMpExMap& theMap, 
27                           Int_t firstI, Int_t lastI);
28   
29   virtual ~AliMUON2DMapIteratorByI();
30   
31   ///The returned object must not be deleted by the user.  
32   virtual TObject* Next();
33   
34   virtual void Reset(); 
35
36   virtual const TCollection* GetCollection() const;
37
38 private:
39     AliMpExMapIterator* NextIterator();
40   
41 private:
42   /// Not implemented
43   AliMUON2DMapIteratorByI(const AliMUON2DMapIteratorByI& rhs);
44   /// Not implemented
45   AliMUON2DMapIteratorByI& operator=(const AliMUON2DMapIteratorByI& rhs);
46   /// Overriden TIterator virtual operator=
47   AliMUON2DMapIteratorByI& operator=(const TIterator& rhs);
48
49   const AliMpExMap* fkMap; ///< Top map we iterate upon
50   AliMpExMapIterator* fIter1; ///< first iterator
51   TIterator* fIter2; ///< second iterator
52   Int_t fFirstI; ///< start of range for I
53   Int_t fLastI; ///< end of range for I
54   Int_t fCurrentI; ///< current value of I 
55   
56   ClassDef(AliMUON2DMapIteratorByI,0) // VDataIterator for 2D maps
57 };
58
59
60 #endif