1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 // $MpId: AliMpSlatPadIterator.h,v 1.4 2005/09/19 19:01:09 ivana Exp $
8 /// \class AliMpSlatPadIterator
9 /// \brief Iterator for slat pads.
11 /// Author: Laurent Aphecetche
13 #ifndef ALI_MP_SLAT_PAD_ITERATOR_H
14 #define ALI_MP_SLAT_PAD_ITERATOR_H
16 #include "AliMpVPadIterator.h"
22 class AliMpSlatPadIterator : public AliMpVPadIterator
25 AliMpSlatPadIterator();
26 AliMpSlatPadIterator(const AliMpSlat* slat, const AliMpArea& area);
27 virtual ~AliMpSlatPadIterator();
31 Bool_t IsDone() const;
32 AliMpPad CurrentItem() const;
36 AliMpSlatPadIterator(const AliMpSlatPadIterator&);
37 AliMpSlatPadIterator& operator=(const AliMpSlatPadIterator&);
38 Bool_t Prepare(const AliMpArea& area);
39 AliMpArea Intersect(const AliMpArea& a, const AliMpArea& b) const;
42 const AliMpSlat* fkSlat;
43 std::vector<AliMpVPadIterator*> fDelegates;
44 AliMpVPadIterator* fCurrentDelegate;
45 UInt_t fCurrentDelegateIndex;
47 ClassDef(AliMpSlatPadIterator,1) // Pad iterator for St 345 Slats