]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/mapping/AliMpSectorAreaHPadIterator.cxx
In Print(): added an option to print area borders
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpSectorAreaHPadIterator.cxx
index 58160b713a3f482f3de6bf8c4614a3476ec43fe2..0889c802b0b62bb922176cd4c017b671685ef43a 100755 (executable)
  **************************************************************************/
 
 // $Id$
-// $MpId: AliMpSectorAreaHPadIterator.cxx,v 1.6 2006/03/17 11:38:43 ivana Exp $
+// $MpId: AliMpSectorAreaHPadIterator.cxx,v 1.7 2006/05/24 13:58:46 ivana Exp $
 // Category: sector
-//
+
+//-----------------------------------------------------------------------------
 // Class AliMpSectorAreaHPadIterator
 // ---------------------------------
 // Class, which defines an iterator over the pads 
 // inside a given area in a sector in horizontal direction.
 // Included in AliRoot: 2003/05/02
 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
+//-----------------------------------------------------------------------------
 
 #include "AliMpSectorAreaHPadIterator.h"
 #include "AliMpSectorSegmentation.h"
@@ -30,7 +32,9 @@
 
 #include <Riostream.h>
 
+/// \cond CLASSIMP
 ClassImp(AliMpSectorAreaHPadIterator)
+/// \endcond
 
 //______________________________________________________________________________
 AliMpSectorAreaHPadIterator::AliMpSectorAreaHPadIterator(
@@ -48,11 +52,15 @@ AliMpSectorAreaHPadIterator::AliMpSectorAreaHPadIterator(
 //______________________________________________________________________________
 AliMpSectorAreaHPadIterator::AliMpSectorAreaHPadIterator(
                                 const AliMpSectorAreaHPadIterator& right)
-  : AliMpVPadIterator(right)
+  : AliMpVPadIterator(right),
+    fkSegmentation(0),
+    fkArea(AliMpArea()),
+    fCurrentPad(AliMpPad::Invalid()),
+    fCurrentRowPosition(0.)
 {
-/// Protected copy constructor (not provided)
+/// Copy constructor
  
-  Fatal("Copy constructor", "Not implemented");
+  *this = right;
 }
 
 //______________________________________________________________________________
@@ -113,12 +121,12 @@ void AliMpSectorAreaHPadIterator::MoveUp()
 {
 /// Increase the current row position and searches the first valid pad.
 
-  Double_t step = 2.* fkSegmentation->GetMinPadDimensions().Y();
+  Double_t dy = fkSegmentation->GetMinPadDimensions().Y();
 
   while ( !fCurrentPad.IsValid() && 
-          fCurrentRowPosition + step < fkArea.UpBorder())
+          fCurrentRowPosition + dy < fkArea.UpBorder())
   {
-    fCurrentRowPosition += step;
+    fCurrentRowPosition += 2.*dy;
     TVector2 position = TVector2(fkArea.LeftBorder(), fCurrentRowPosition);
     
     fCurrentPad = fkSegmentation->PadByDirection(position, fkArea.RightBorder());
@@ -144,7 +152,7 @@ void AliMpSectorAreaHPadIterator::First()
   //
   fCurrentRowPosition = fkArea.DownBorder();
   TVector2 position(fkArea.LeftDownCorner()); 
-  
+
   fCurrentPad = fkSegmentation->PadByDirection(position, fkArea.RightBorder());
 
   MoveUp();