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

// $Id$
// $MpId: AliMpMotifPositionPadIterator.h,v 1.7 2006/05/24 13:58:18 ivana Exp $

/// \ingroup motif
/// \class AliMpMotifPositionPadIterator
/// \brief An iterator over the pads of a given motif position
///
/// \author David Guez, Ivana Hrivnacova; IPN Orsay

#ifndef ALI_MP_MOTIF_POSITION_PAD_ITERATOR_H
#define ALI_MP_MOTIF_POSITION_PAD_ITERATOR_H

#include "AliMpVPadIterator.h"
#include "AliMpMotifTypePadIterator.h"

class AliMpMotifPosition;

class AliMpMotifPositionPadIterator : public AliMpVPadIterator
{
  public:
    AliMpMotifPositionPadIterator();
    AliMpMotifPositionPadIterator(const AliMpMotifPosition* motifPos);
    AliMpMotifPositionPadIterator(const AliMpMotifPositionPadIterator& right);
    virtual ~AliMpMotifPositionPadIterator();     

    // operators
    AliMpMotifPositionPadIterator& 
      operator = (const AliMpMotifPositionPadIterator& right);

    virtual void First();
    virtual void Next();
    virtual Bool_t IsDone() const;
    virtual AliMpPad CurrentItem() const;
    virtual void Invalidate();

  private:
    // private methods
    Bool_t IsValid() const;

    // private data members
    const AliMpMotifPosition* fkMotifPos;///< the AliMpMotifPosition over which iterate
    AliMpMotifTypePadIterator fIterator; ///< Iterator over the motif type

 ClassDef(AliMpMotifPositionPadIterator,2) // iterator over motif's pads
};

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