1 #ifndef ALIMUON2DMAPITERATORBYI_H
2 #define ALIMUON2DMAPITERATORBYI_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 /// \class AliMUON2DMapIteratorByI
11 /// \brief Implementation of TIterator for 2D maps
13 // Author Laurent Aphecetche
15 #ifndef ROOT_TIterator
16 # include "TIterator.h"
20 class AliMpExMapIterator;
22 //_____________________________________________________________________________
23 class AliMUON2DMapIteratorByI : public TIterator
26 AliMUON2DMapIteratorByI(const AliMpExMap& theMap,
27 Int_t firstI, Int_t lastI);
29 virtual ~AliMUON2DMapIteratorByI();
31 ///The returned object must not be deleted by the user.
32 virtual TObject* Next();
36 virtual const TCollection* GetCollection() const;
39 AliMpExMapIterator* NextIterator();
43 AliMUON2DMapIteratorByI(const AliMUON2DMapIteratorByI& rhs);
45 AliMUON2DMapIteratorByI& operator=(const AliMUON2DMapIteratorByI& rhs);
46 /// Overriden TIterator virtual operator=
47 AliMUON2DMapIteratorByI& operator=(const TIterator& rhs);
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
56 ClassDef(AliMUON2DMapIteratorByI,0) // VDataIterator for 2D maps