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

// $Id$ 
// $MpId: AliMpDEIterator.h,v 1.5 2006/05/24 13:58:16 ivana Exp $ 

/// \ingroup management
/// \class AliMpDEIterator
/// \brief The iterator over detection elements
///
/// It can iterate 
/// - over all detection elements, if started with First() function; 
/// - or over detection elements in a selected chamber, if started with
///   First(Int_t chamberId) function                                          \n 
/// 
/// \author Ivana Hrivnacova, IPN Orsay

#ifndef ALI_MP_DE_ITERATOR_H
#define ALI_MP_DE_ITERATOR_H

#include <TObject.h>

#include <TArrayI.h>

class AliMpDetElement;
class TIterator;
class TString;

class AliMpDEIterator : public  TObject {

  public:
    AliMpDEIterator();
    //AliMpDEIterator(const AliMpDEIterator& rhs);
    virtual ~AliMpDEIterator();

    // Operators
    //AliMpDEIterator& operator=(const AliMpDEIterator& rhs);
    
    // Methods for iterating over DE elements
    // 
    void First();
    void First(Int_t chamberId);
    void Next();
    Bool_t IsDone() const;
    
    AliMpDetElement* CurrentDE() const;
    Int_t CurrentDEId() const;

  private:
    /// Not implemented
    AliMpDEIterator(const AliMpDEIterator& rhs);
    /// Not implemented
    AliMpDEIterator& operator=(const AliMpDEIterator& rhs);

    // data members	
    AliMpDetElement* fCurrentDE; ///< current element in iteration
    TIterator*       fIterator;  ///< iterator
    Int_t            fChamberId; ///< The iterated chamber 

  ClassDef(AliMpDEIterator,0)  // The iterator over valid detection element IDs
};

#endif //ALI_MP_DE_ITERATOR_H















 AliMpDEIterator.h:1
 AliMpDEIterator.h:2
 AliMpDEIterator.h:3
 AliMpDEIterator.h:4
 AliMpDEIterator.h:5
 AliMpDEIterator.h:6
 AliMpDEIterator.h:7
 AliMpDEIterator.h:8
 AliMpDEIterator.h:9
 AliMpDEIterator.h:10
 AliMpDEIterator.h:11
 AliMpDEIterator.h:12
 AliMpDEIterator.h:13
 AliMpDEIterator.h:14
 AliMpDEIterator.h:15
 AliMpDEIterator.h:16
 AliMpDEIterator.h:17
 AliMpDEIterator.h:18
 AliMpDEIterator.h:19
 AliMpDEIterator.h:20
 AliMpDEIterator.h:21
 AliMpDEIterator.h:22
 AliMpDEIterator.h:23
 AliMpDEIterator.h:24
 AliMpDEIterator.h:25
 AliMpDEIterator.h:26
 AliMpDEIterator.h:27
 AliMpDEIterator.h:28
 AliMpDEIterator.h:29
 AliMpDEIterator.h:30
 AliMpDEIterator.h:31
 AliMpDEIterator.h:32
 AliMpDEIterator.h:33
 AliMpDEIterator.h:34
 AliMpDEIterator.h:35
 AliMpDEIterator.h:36
 AliMpDEIterator.h:37
 AliMpDEIterator.h:38
 AliMpDEIterator.h:39
 AliMpDEIterator.h:40
 AliMpDEIterator.h:41
 AliMpDEIterator.h:42
 AliMpDEIterator.h:43
 AliMpDEIterator.h:44
 AliMpDEIterator.h:45
 AliMpDEIterator.h:46
 AliMpDEIterator.h:47
 AliMpDEIterator.h:48
 AliMpDEIterator.h:49
 AliMpDEIterator.h:50
 AliMpDEIterator.h:51
 AliMpDEIterator.h:52
 AliMpDEIterator.h:53
 AliMpDEIterator.h:54
 AliMpDEIterator.h:55
 AliMpDEIterator.h:56
 AliMpDEIterator.h:57
 AliMpDEIterator.h:58
 AliMpDEIterator.h:59
 AliMpDEIterator.h:60
 AliMpDEIterator.h:61
 AliMpDEIterator.h:62
 AliMpDEIterator.h:63
 AliMpDEIterator.h:64
 AliMpDEIterator.h:65
 AliMpDEIterator.h:66
 AliMpDEIterator.h:67
 AliMpDEIterator.h:68
 AliMpDEIterator.h:69
 AliMpDEIterator.h:70
 AliMpDEIterator.h:71
 AliMpDEIterator.h:72
 AliMpDEIterator.h:73
 AliMpDEIterator.h:74
 AliMpDEIterator.h:75
 AliMpDEIterator.h:76
 AliMpDEIterator.h:77
 AliMpDEIterator.h:78