Implemented a new version of cluster (with its store and iterator):
[u/mrichter/AliRoot.git] / MUON / AliMUONClusterStoreV2Iterator.h
CommitLineData
2060b217 1#ifndef ALIMUONCLUSTERSTOREV2ITERATOR_H
2#define ALIMUONCLUSTERSTOREV2ITERATOR_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 AliMUONClusterStoreV2Iterator
11/// \brief Base implementation of TIterator for AliMUONClusterStoreV2
12///
13// Author Philippe Pillot, Subatech
14
15#ifndef ROOT_TIterator
16# include "TIterator.h"
17#endif
18
19class AliMUONClusterStoreV2;
20class TExMapIter;
21
22class AliMUONClusterStoreV2Iterator : public TIterator
23{
24public:
25 AliMUONClusterStoreV2Iterator(const AliMUONClusterStoreV2* store,
26 Int_t firstChamberId, Int_t lastChamberId);
27 AliMUONClusterStoreV2Iterator(const AliMUONClusterStoreV2Iterator& rhs);
28 AliMUONClusterStoreV2Iterator& operator=(const AliMUONClusterStoreV2Iterator& rhs);
29 TIterator& operator=(const TIterator& rhs);
30
31 virtual ~AliMUONClusterStoreV2Iterator();
32
33 TObject* Next();
34
35 void Reset();
36
37 /// Return 0 as we're not dealing with TCollection objects really
38 virtual const TCollection* GetCollection() const { return 0x0; }
39
40private:
41 TObject* NextInCurrentChamber() const;
42
43private:
44 const AliMUONClusterStoreV2* fStore; ///< store to iterate upon
45 Int_t fFirstChamberId; ///< first chamber
46 Int_t fLastChamberId; ///< last chamber
47 Int_t fCurrentChamberId; ///< current chamber
48 TExMapIter* fChamberIterator; ///< helper iterator
49
50 ClassDef(AliMUONClusterStoreV2Iterator,0) // Implementation of TIterator
51};
52
53#endif