// $Id$
-/// \ingroup calib
+/// \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(const AliMpExMap& theMap);
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 (as advertised by the IsOwner() method below)
- */
+ ///The returned object must not be deleted by the user.
virtual TObject* Next();
virtual void Reset();
- virtual Bool_t Remove();
-
- virtual Bool_t IsOwner() const { return kTRUE; }
+ 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);
+ TIterator* NextIterator();
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
-
- ClassDef(AliMUON2DMapIterator,0) // VDataIterator for 2D maps
+ /// Not implemented
+ AliMUON2DMapIterator(const AliMUON2DMapIterator& rhs);
+ /// Not implemented
+ AliMUON2DMapIterator& operator=(const AliMUON2DMapIterator& rhs);
+ /// Overriden TIterator virtual operator=
+ AliMUON2DMapIterator& operator=(const TIterator& rhs);
+
+ const AliMpExMap* fkMap; ///< Top map we iterate upon
+ TIterator* fIter1; ///< first iterator
+ TIterator* fIter2; ///< second iterator
+
+ ClassDef(AliMUON2DMapIterator,0) // TIterator for AliMUON2D maps
};