ROOT logo
#ifndef ALIMUONTOTCASTOREITERATOR_H
#define ALIMUONTOTCASTOREITERATOR_H

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

// $Id$

/// \ingroup base
/// \class AliMUONTOTCAStoreIterator
/// \brief Iterator on a store composed of a TObjArray of TClonesArrays
/// 
//  Author: Laurent Aphecetche

#include "TIterator.h"

class TClonesArray;
class TObjArray;

class AliMUONTOTCAStoreIterator : public TIterator
{
public:
  AliMUONTOTCAStoreIterator(const TObjArray* a, Int_t firstChamberId, Int_t lastChamberId);
  AliMUONTOTCAStoreIterator(const AliMUONTOTCAStoreIterator& rhs);
  AliMUONTOTCAStoreIterator& operator=(const TIterator& rhs);
  AliMUONTOTCAStoreIterator& operator=(const AliMUONTOTCAStoreIterator& rhs);
  virtual ~AliMUONTOTCAStoreIterator();
    
  virtual const TCollection* GetCollection() const;
  
  virtual TObject* Next();
  
  virtual void Reset(); 
  
private:
    void CopyTo(AliMUONTOTCAStoreIterator& destination) const;
  
private:
  const TObjArray* fkData; //!< Pointer to data accessor
  Int_t fFirstChamberId;      //!< First chamber to iterate on
  Int_t fLastChamberId;       //!< Last chamber to iterate on      
  TClonesArray* fCurrentTCA;    //!< TClonesArray of the current chamber
  Int_t fCurrentTCAIndex;      //!< Current position within fCurrentTCA array
  Int_t fCurrentChamberId; //!< current chamber id
  
  ClassDef(AliMUONTOTCAStoreIterator,0) // Iterator on digits
};      

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