ROOT logo
#ifndef ALIMUONCLUSTERSTOREV2ITERATOR_H
#define ALIMUONCLUSTERSTOREV2ITERATOR_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice                               */

// $Id$

/// \ingroup base
/// \class AliMUONClusterStoreV2Iterator
/// \brief Base implementation of TIterator for AliMUONClusterStoreV2
/// 
//  Author Philippe Pillot, Subatech

#ifndef ROOT_TIterator
#  include "TIterator.h"
#endif

class AliMUONClusterStoreV2;

class AliMUONClusterStoreV2Iterator : public TIterator
{
public:
  AliMUONClusterStoreV2Iterator(const AliMUONClusterStoreV2* store,
                                Int_t firstChamberId, Int_t lastChamberId);
  
  virtual ~AliMUONClusterStoreV2Iterator();
  
  TObject* Next();
  
  void Reset();
  
  /// Return 0 as we're not dealing with TCollection objects really
  virtual const TCollection* GetCollection() const { return 0x0; }
  
private:
  TObject* NextInCurrentChamber() const;
  
private:
  /// Not implemented
  AliMUONClusterStoreV2Iterator(const AliMUONClusterStoreV2Iterator& rhs);
  /// Not implemented
  AliMUONClusterStoreV2Iterator& operator=(const AliMUONClusterStoreV2Iterator& rhs);
  /// Overriden TIterator virtual operator=
  AliMUONClusterStoreV2Iterator& operator=(const TIterator& rhs);

  const AliMUONClusterStoreV2* fkStore; ///< store to iterate upon
  Int_t fFirstChamberId; ///< first chamber
  Int_t fLastChamberId; ///< last chamber
  Int_t fCurrentChamberId; ///< current chamber
  TIterator* fChamberIterator; ///< helper iterator
  
  ClassDef(AliMUONClusterStoreV2Iterator,0) // Implementation of TIterator
};

#endif
 AliMUONClusterStoreV2Iterator.h:1
 AliMUONClusterStoreV2Iterator.h:2
 AliMUONClusterStoreV2Iterator.h:3
 AliMUONClusterStoreV2Iterator.h:4
 AliMUONClusterStoreV2Iterator.h:5
 AliMUONClusterStoreV2Iterator.h:6
 AliMUONClusterStoreV2Iterator.h:7
 AliMUONClusterStoreV2Iterator.h:8
 AliMUONClusterStoreV2Iterator.h:9
 AliMUONClusterStoreV2Iterator.h:10
 AliMUONClusterStoreV2Iterator.h:11
 AliMUONClusterStoreV2Iterator.h:12
 AliMUONClusterStoreV2Iterator.h:13
 AliMUONClusterStoreV2Iterator.h:14
 AliMUONClusterStoreV2Iterator.h:15
 AliMUONClusterStoreV2Iterator.h:16
 AliMUONClusterStoreV2Iterator.h:17
 AliMUONClusterStoreV2Iterator.h:18
 AliMUONClusterStoreV2Iterator.h:19
 AliMUONClusterStoreV2Iterator.h:20
 AliMUONClusterStoreV2Iterator.h:21
 AliMUONClusterStoreV2Iterator.h:22
 AliMUONClusterStoreV2Iterator.h:23
 AliMUONClusterStoreV2Iterator.h:24
 AliMUONClusterStoreV2Iterator.h:25
 AliMUONClusterStoreV2Iterator.h:26
 AliMUONClusterStoreV2Iterator.h:27
 AliMUONClusterStoreV2Iterator.h:28
 AliMUONClusterStoreV2Iterator.h:29
 AliMUONClusterStoreV2Iterator.h:30
 AliMUONClusterStoreV2Iterator.h:31
 AliMUONClusterStoreV2Iterator.h:32
 AliMUONClusterStoreV2Iterator.h:33
 AliMUONClusterStoreV2Iterator.h:34
 AliMUONClusterStoreV2Iterator.h:35
 AliMUONClusterStoreV2Iterator.h:36
 AliMUONClusterStoreV2Iterator.h:37
 AliMUONClusterStoreV2Iterator.h:38
 AliMUONClusterStoreV2Iterator.h:39
 AliMUONClusterStoreV2Iterator.h:40
 AliMUONClusterStoreV2Iterator.h:41
 AliMUONClusterStoreV2Iterator.h:42
 AliMUONClusterStoreV2Iterator.h:43
 AliMUONClusterStoreV2Iterator.h:44
 AliMUONClusterStoreV2Iterator.h:45
 AliMUONClusterStoreV2Iterator.h:46
 AliMUONClusterStoreV2Iterator.h:47
 AliMUONClusterStoreV2Iterator.h:48
 AliMUONClusterStoreV2Iterator.h:49
 AliMUONClusterStoreV2Iterator.h:50
 AliMUONClusterStoreV2Iterator.h:51
 AliMUONClusterStoreV2Iterator.h:52
 AliMUONClusterStoreV2Iterator.h:53
 AliMUONClusterStoreV2Iterator.h:54
 AliMUONClusterStoreV2Iterator.h:55
 AliMUONClusterStoreV2Iterator.h:56