1 #ifndef ALIMUON2DMAPITERATOR_H
2 #define ALIMUON2DMAPITERATOR_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 /// \class AliMUON2DMapIterator
11 /// \brief Implementation of AliMUONVDataIterator for 2D maps
13 // Author Laurent Aphecetche
21 #ifndef ALIMUONVDATAITERATOR_H
22 # include "AliMUONVDataIterator.h"
27 //_____________________________________________________________________________
28 class AliMUON2DMapIterator : public AliMUONVDataIterator
31 AliMUON2DMapIterator(AliMpExMap& theMap);
33 virtual ~AliMUON2DMapIterator();
35 /** The object returned by this iterator is an AliMUONObjectPair(TObject* key,TObject* value)
36 where key is an AliMpIntPair (detElemId,manuId), and value is
37 an AliMUONVCalibParam.
38 The returned object must be deleted by the user (as advertised by the IsOwner() method below)
40 virtual TObject* Next();
44 virtual Bool_t Remove();
46 virtual Bool_t IsOwner() const { return kTRUE; }
49 /// copy ctor will not implemented
50 AliMUON2DMapIterator(const AliMUON2DMapIterator&);
51 /// assignement operator will not implemented
52 AliMUON2DMapIterator& operator=(const AliMUON2DMapIterator&);
54 TObject* GetValue(TExMapIter& iter, Int_t& key) const;
55 AliMpExMap* GetMap(TExMapIter& iter, Int_t& key);
58 TExMapIter fIter; //!< first iterator
59 TExMapIter* fIter2; //!< second iterator
60 Int_t fCurrentI; //!< current index in direction i
61 Int_t fCurrentJ; //!< current index in direction j
63 ClassDef(AliMUON2DMapIterator,0) // VDataIterator for 2D maps