AliRoot Core  v5-06-15 (45dab64)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMpPCBPadIterator.h
Go to the documentation of this file.
1 #ifndef ALI_MP_PCB_PAD_ITERATOR_H
2 #define ALI_MP_PCB_PAD_ITERATOR_H
3 
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice */
6 
7 // $Id$
8 // $MpId$
9 
14 // Author: Laurent Aphecetche
15 
16 #include "AliMpVPadIterator.h"
17 
18 class AliMpArea;
19 class AliMpSlat;
21 
23 {
24 public:
25  AliMpPCBPadIterator(const AliMpSlat* slat, const AliMpArea& area);
26  virtual ~AliMpPCBPadIterator();
27 
28  void First();
29  void Next();
30  Bool_t IsDone() const;
31  AliMpPad CurrentItem() const;
32  void Invalidate();
33 
34  void Print(Option_t* opt="") const;
35 
36 private:
41 
42  Bool_t GetNextPosition(Int_t& ix, Int_t& iy) const;
43  Bool_t CropArea(const AliMpArea& area);
44  void SetPad(AliMpPad& pad, Int_t ix, Int_t iy);
45 
46 private:
47  const AliMpSlat* fkSlat;
53  Bool_t fIsDone;
54 
55  ClassDef(AliMpPCBPadIterator,0) // Pad iterator for a zone of constant density, for St345.
56 };
57 
58 #endif
void First()
Set iterator to the first pad.
AliMpPad fCurrentPad
! current pad
void SetPad(AliMpPad &pad, Int_t ix, Int_t iy)
A rectangle area positioned in plane..
Definition: AliMpArea.h:20
MpPair_t fOffset
! current position
AliMpPCBPadIterator & operator=(const AliMpPCBPadIterator &right)
Not implemented.
A slat (building block of stations 3, 4 and 5)
Definition: AliMpSlat.h:51
Iterates over slat pads within a region of constant pad size.
void Next()
Set iterator to the next pad.
void Print(Option_t *opt="") const
Bool_t fIsDone
! whether we've finished or not
An interface for an iterator over pads.
const AliMpSlat * fkSlat
! the slat we're iterating over
MpPair_t fMinIndices
! indices of bottom left of region to iterate over
Implementation of AliMpVSegmentation for St345 slats.
Bool_t GetNextPosition(Int_t &ix, Int_t &iy) const
void Invalidate()
Invalidate iterator (.
Int_t MpPair_t
Bool_t CropArea(const AliMpArea &area)
Class which encapsuate all information about a pad.
Definition: AliMpPad.h:22
AliMpSlatSegmentation * fSlatSegmentation
! segmentation pointer
AliMpPad CurrentItem() const
Return current pad.
MpPair_t fMaxIndices
! indices of top right of region to iterate over
Bool_t IsDone() const
Is iterator done.
AliMpPCBPadIterator(const AliMpSlat *slat, const AliMpArea &area)