]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUON2DMapIterator.h
Decoupling trigX and trigY in LocalTrigger (Philippe C.)
[u/mrichter/AliRoot.git] / MUON / AliMUON2DMapIterator.h
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
9 /// \ingroup base
10 /// \class AliMUON2DMapIterator
11 /// \brief Implementation of AliMUONVDataIterator for 2D maps
12 /// 
13 //  Author Laurent Aphecetche
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
25 class AliMpExMap;
26
27 //_____________________________________________________________________________
28 class AliMUON2DMapIterator : public AliMUONVDataIterator
29 {
30 public:
31   AliMUON2DMapIterator(AliMpExMap& theMap);
32   
33   virtual ~AliMUON2DMapIterator();
34   
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.
39     */
40   virtual TObject* Next();
41   
42   virtual void Reset(); 
43   
44   virtual Bool_t Remove();
45   
46 private:
47   /// copy ctor will not implemented
48   AliMUON2DMapIterator(const AliMUON2DMapIterator&);
49   /// assignement operator will not implemented
50   AliMUON2DMapIterator& operator=(const AliMUON2DMapIterator&);
51   
52   TObject* GetValue(TExMapIter& iter, Int_t& key) const;
53   AliMpExMap* GetMap(TExMapIter& iter, Int_t& key);
54   
55 private:
56   TExMapIter fIter; //!< first iterator
57   TExMapIter* fIter2; //!< second iterator
58   Int_t fCurrentI; //!< current index in direction i 
59   Int_t fCurrentJ; //!< current index in direction j
60   
61   ClassDef(AliMUON2DMapIterator,0) // VDataIterator for 2D maps
62 };
63
64
65 #endif