// $Id$
-/// \ingroup base
+/// \ingroup core
/// \class AliMUON2DMapIterator
-/// \brief Implementation of AliMUONVDataIterator for 2D maps
+/// \brief Implementation of TIterator for 2D maps
///
// Author Laurent Aphecetche
-#ifndef ROOT_TObject
-# include "TObject.h"
-#endif
-#ifndef ROOT_TExMap
-# include "TExMap.h"
-#endif
-#ifndef ALIMUONVDATAITERATOR_H
-# include "AliMUONVDataIterator.h"
+#ifndef ROOT_TIterator
+# include "TIterator.h"
#endif
class AliMpExMap;
//_____________________________________________________________________________
-class AliMUON2DMapIterator : public AliMUONVDataIterator
+class AliMUON2DMapIterator : public TIterator
{
public:
- AliMUON2DMapIterator(AliMpExMap& theMap);
+ AliMUON2DMapIterator(AliMpExMap* theMap);
+ AliMUON2DMapIterator(const AliMUON2DMapIterator& rhs);
+ AliMUON2DMapIterator& operator=(const AliMUON2DMapIterator& rhs);
+ TIterator& operator=(const TIterator& rhs);
virtual ~AliMUON2DMapIterator();
- /** The object returned by this iterator is an AliMUONObjectPair(TObject* key,TObject* value)
- where key is an AliMpIntPair (detElemId,manuId), and value is
- an AliMUONVCalibParam.
- The returned object must be deleted by the user.
- */
+ ///The returned object must not be deleted by the user.
virtual TObject* Next();
virtual void Reset();
- virtual Bool_t Remove();
+ virtual const TCollection* GetCollection() const;
private:
- // copy ctor will not implemented
- AliMUON2DMapIterator(const AliMUON2DMapIterator&);
- // assignement operator will not implemented
- AliMUON2DMapIterator& operator=(const AliMUON2DMapIterator&);
-
- TObject* GetValue(TExMapIter& iter, Int_t& key) const;
- AliMpExMap* GetMap(TExMapIter& iter, Int_t& key);
+
+ AliMpExMap* Map(Int_t i) const;
private:
- TExMapIter fIter; //! first iterator
- TExMapIter* fIter2; //! second iterator
- Int_t fCurrentI; //! current index in direction i
- Int_t fCurrentJ; //! current index in direction j
+ AliMpExMap* fMap; ///< Top map we iterate upon
+ AliMpExMap* fCurrentMap; ///< Current map (inside top map) we are iterating upon
+ Int_t fI; ///< Map(fI) is fCurrentMap
+ Int_t fJ; ///< Current position in fCurrentMap
ClassDef(AliMUON2DMapIterator,0) // VDataIterator for 2D maps
};