]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/mapping/AliMpNeighboursPadIterator.cxx
- Reordering includes and/or
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpNeighboursPadIterator.cxx
index ffd5c29ce280c7cf9d2aa5c2798ee94ac0925fc5..9547b6456c8ac7a5e7a7c33d17ac83c65e6a5982 100755 (executable)
@@ -14,7 +14,7 @@
  **************************************************************************/
 
 // $Id$
-// $MpId: AliMpNeighboursPadIterator.cxx,v 1.9 2005/09/26 16:12:23 ivana Exp $
+// $MpId: AliMpNeighboursPadIterator.cxx,v 1.11 2006/03/02 16:37:30 ivana Exp $
 // Category: sector
 //
 // Class AliMpNeighboursPadIterator
 // Included in AliRoot: 2003/05/02
 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
 
-#include <TVector2.h>
-
 #include "AliMpNeighboursPadIterator.h"
 #include "AliMpIntPair.h"
 #include "AliMpSectorSegmentation.h"
 #include "AliMpRow.h"
 #include "AliMpConstants.h"
 
-ClassImp(AliMpNeighboursPadIterator)
+#include <TVector2.h>
 
 const UInt_t AliMpNeighboursPadIterator::fgkInvalidIndex = 9999; 
                                                    //never so much neighbours...
 
+ClassImp(AliMpNeighboursPadIterator)
+
 //______________________________________________________________________________
 AliMpNeighboursPadIterator::AliMpNeighboursPadIterator()
   : AliMpVPadIterator(),
@@ -117,12 +117,13 @@ AliMpNeighboursPadIterator::operator = (const AliMpNeighboursPadIterator& right)
 //
 
 //______________________________________________________________________________
-Bool_t AliMpNeighboursPadIterator::IsNeighbours(const AliMpPad& pad) const
+Bool_t AliMpNeighboursPadIterator::IsNeighbour(const AliMpPad& pad) const
 {
 /// Return true if the pad located by <padIndice> is a neighbour of those
 /// located at <fCenterPad>
 
-    
+    if ( !pad.IsValid() ) return kFALSE;    
+
     TVector2 relPos  = pad.Position()   - fCenterPad.Position();
     TVector2 bounds  = pad.Dimensions() + fCenterPad.Dimensions();
     return (TMath::Abs(relPos.X())- bounds.X()<AliMpConstants::LengthTolerance()) && 
@@ -144,14 +145,14 @@ AliMpNeighboursPadIterator::PadVectorLine(const AliMpPad& from,
     PadVector ans;
     Bool_t cont=kTRUE;
     do {
-        if (IsNeighbours(current))
+        if (IsNeighbour(current))
             ans.push_back(current);
         else
             cont=kFALSE;
         TVector2 nextPos = current.Position() + TVector2(
           current.Dimensions().X()*(AliMpConstants::LengthStep()+1.)*direction.GetFirst(),
           current.Dimensions().Y()*(AliMpConstants::LengthStep()+1.)*direction.GetSecond());
-        current = fkSegmentation->PadByPosition(nextPos);
+        current = fkSegmentation->PadByPosition(nextPos, false);
     } while (cont);
     return ans;
 }
@@ -181,14 +182,14 @@ AliMpNeighboursPadIterator::PadVectorLine(const AliMpPad& from,
     PadVector* ans = new PadVector();
     Bool_t cont=kTRUE;
     do {
-        if (IsNeighbours(current))
+        if (IsNeighbour(current))
             ans->Add(new AliMpPad(current));
         else
             cont=kFALSE;
         TVector2 nextPos = current.Position() + TVector2(
           current.Dimensions().X()*(AliMpConstants::LengthStep()+1.)*direction.GetFirst(),
           current.Dimensions().Y()*(AliMpConstants::LengthStep()+1.)*direction.GetSecond());
-        current = fkSegmentation->PadByPosition(nextPos);
+        current = fkSegmentation->PadByPosition(nextPos, false);
     } while (cont);
     return ans;
 }