LCOV - code coverage report
Current view: top level - MUON/MUONmapping - AliMpSlatPadIterator.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             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       2             :  * See cxx source for full Copyright notice                               */
       3             : 
       4             : // $Id$
       5             : // $MpId: AliMpSlatPadIterator.h,v 1.8 2006/05/24 13:58:24 ivana Exp $
       6             : 
       7             : /// \ingroup slat
       8             : /// \class AliMpSlatPadIterator
       9             : /// \brief Iterator for slat pads.
      10             : /// 
      11             : //  Author: Laurent Aphecetche
      12             : 
      13             : #ifndef ALI_MP_SLAT_PAD_ITERATOR_H
      14             : #define ALI_MP_SLAT_PAD_ITERATOR_H
      15             : 
      16             : #include "AliMpVPadIterator.h"
      17             : #include "TObjArray.h"
      18             : 
      19             : class AliMpSlat;
      20             : class AliMpArea;
      21             : 
      22             : class AliMpSlatPadIterator : public AliMpVPadIterator
      23             : {
      24             :  public:
      25             :   AliMpSlatPadIterator(); 
      26             :   // Area position must be relative to bottom-left of slat.
      27             :   AliMpSlatPadIterator(const AliMpSlat* slat, const AliMpArea& area);
      28             :   virtual ~AliMpSlatPadIterator();
      29             : 
      30             :   void First();
      31             :   void Next();
      32             :   Bool_t IsDone() const;
      33             :   AliMpPad CurrentItem() const;
      34             :   void Invalidate();
      35             :  
      36             :  private:
      37             :   /// Not implemented
      38             :   AliMpSlatPadIterator(const AliMpSlatPadIterator&);
      39             :   /// Not implemented
      40             :   AliMpSlatPadIterator& operator=(const AliMpSlatPadIterator&);
      41             : 
      42             :   Bool_t Prepare(const AliMpArea& area);
      43             :   AliMpArea Intersect(const AliMpArea& a, const AliMpArea& b) const;
      44             : 
      45             :  private:
      46             :   const AliMpSlat* fkSlat; ///< pointer to the slat being iterated over
      47             :   TObjArray fDelegates; ///< iterators we do use (array of AliMpVPadIterator*)
      48             :   AliMpVPadIterator* fCurrentDelegate; ///< current iterator
      49             :   Int_t fCurrentDelegateIndex; ///< current iterator index
      50             : 
      51        3910 :   ClassDef(AliMpSlatPadIterator,2) // Pad iterator for St 345 Slats
      52             : };
      53             : 
      54             : #endif

Generated by: LCOV version 1.11