]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUON2DMapIterator.h
Added protection and 2 levels for problems
[u/mrichter/AliRoot.git] / MUON / AliMUON2DMapIterator.h
CommitLineData
f246123b 1#ifndef ALIMUON2DMAPITERATOR_H
2#define ALIMUON2DMAPITERATOR_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
a3d37091 9/// \ingroup calib
f246123b 10/// \class AliMUON2DMapIterator
11/// \brief Implementation of AliMUONVDataIterator for 2D maps
12///
78649106 13// Author Laurent Aphecetche
f246123b 14
15#ifndef ROOT_TObject
16# include "TObject.h"
17#endif
18#ifndef ROOT_TExMap
19# include "TExMap.h"
20#endif
21#ifndef ALIMUONVDATAITERATOR_H
22# include "AliMUONVDataIterator.h"
23#endif
24
25class AliMpExMap;
26
27//_____________________________________________________________________________
28class AliMUON2DMapIterator : public AliMUONVDataIterator
29{
30public:
31 AliMUON2DMapIterator(AliMpExMap& theMap);
32
33 virtual ~AliMUON2DMapIterator();
34
fb9b1607 35 /** The object returned by this iterator is an AliMUONObjectPair(TObject* key,TObject* value)
f246123b 36 where key is an AliMpIntPair (detElemId,manuId), and value is
37 an AliMUONVCalibParam.
a3d37091 38 The returned object must be deleted by the user (as advertised by the IsOwner() method below)
f246123b 39 */
40 virtual TObject* Next();
41
42 virtual void Reset();
43
44 virtual Bool_t Remove();
45
a3d37091 46 virtual Bool_t IsOwner() const { return kTRUE; }
47
f246123b 48private:
c4ee792d 49 /// copy ctor will not implemented
50 AliMUON2DMapIterator(const AliMUON2DMapIterator&);
51 /// assignement operator will not implemented
f246123b 52 AliMUON2DMapIterator& operator=(const AliMUON2DMapIterator&);
53
c4ee792d 54 TObject* GetValue(TExMapIter& iter, Int_t& key) const;
f246123b 55 AliMpExMap* GetMap(TExMapIter& iter, Int_t& key);
56
57private:
c4ee792d 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
f246123b 62
63 ClassDef(AliMUON2DMapIterator,0) // VDataIterator for 2D maps
64};
65
66
67#endif