LCOV - code coverage report
Current view: top level - MUON/MUONmapping - AliMpPCBPadIterator.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 1 100.0 %
Date: 2016-06-14 17:26:59 Functions: 2 5 40.0 %

          Line data    Source code
       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             : 
      10             : /// \ingroup slat
      11             : /// \class AliMpPCBPadIterator
      12             : /// \brief Iterates over slat pads within a region of constant pad size.
      13             : ///
      14             : //  Author: Laurent Aphecetche
      15             : 
      16             : #include "AliMpVPadIterator.h"
      17             : 
      18             : class AliMpArea;
      19             : class AliMpSlat;
      20             : class AliMpSlatSegmentation;
      21             : 
      22             : class AliMpPCBPadIterator : public AliMpVPadIterator
      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:
      37             :   /// Not implemented
      38             :   AliMpPCBPadIterator(const AliMpPCBPadIterator& right);
      39             :   /// Not implemented
      40             :   AliMpPCBPadIterator&  operator = (const AliMpPCBPadIterator& right);
      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; //!<! the slat we're iterating over
      48             :   AliMpSlatSegmentation* fSlatSegmentation; //!<! segmentation pointer
      49             :   MpPair_t fMinIndices; //!<! indices of bottom left of region to iterate over
      50             :   MpPair_t fMaxIndices; //!<! indices of top right of region to iterate over
      51             :   MpPair_t fOffset; //!<! current position
      52             :   AliMpPad fCurrentPad; //!<! current pad
      53             :   Bool_t fIsDone; //!<! whether we've finished or not
      54             :   
      55        1338 :   ClassDef(AliMpPCBPadIterator,0) // Pad iterator for a zone of constant density, for St345.
      56             : };
      57             : 
      58             : #endif

Generated by: LCOV version 1.11