pad = PadByPosition(position, false);
position += TVector2(stepX, 0.);
}
- while ( !pad.IsValid() && position.X() < maxX );
+ while ( !pad.IsValid() &&
+ position.X() - fkSector->GetMaxPadDimensions().X() < maxX );
// Invalidate pad if it is outside limits
- if ((pad.Position().X() - pad.Dimensions().X()) > maxX)
+ if ( (pad.Position().X() - pad.Dimensions().X()) > maxX )
pad = AliMpPad::Invalid();
return pad;
pad = PadByPosition(position, false);
position += TVector2(0., stepY);
}
- while ( !pad.IsValid() && position.Y() < maxY );
+ while ( !pad.IsValid() &&
+ position.Y() - fkSector->GetMaxPadDimensions().Y()< maxY );
// Invalidate pad if it is outside limits
if ((pad.Position().Y() - pad.Dimensions().Y()) > maxY)
// public methods
//
+//______________________________________________________________________________
+AliMpVPadIterator*
+AliMpSectorSegmentation::CreateIterator() const
+{
+ /// Currently uses default implementation
+ return AliMpVSegmentation::CreateIterator();
+}
+
//______________________________________________________________________________
AliMpVPadIterator*
AliMpSectorSegmentation::CreateIterator(const AliMpArea& area) const
return 0;
}
+//______________________________________________________________________________
+Int_t
+AliMpSectorSegmentation::GetNeighbours(const AliMpPad& pad, TObjArray& neighbours,
+ Bool_t includeSelf,
+ Bool_t includeVoid) const
+{
+ /// Uses default implementation
+ return AliMpVSegmentation::GetNeighbours(pad,neighbours,includeSelf,includeVoid);
+}
+
//______________________________________________________________________________
AliMpVPadIterator*
AliMpSectorSegmentation::CreateIterator(const AliMpPad& centerPad,
Bool_t includeCenter) const
{
-/// Create the neighbours pad iterator.
+ /// Create the neighbours pad iterator.
return new AliMpNeighboursPadIterator(this, centerPad, includeCenter);
}
// factory methods
virtual AliMpVPadIterator* CreateIterator(const AliMpArea& area) const;
+ virtual AliMpVPadIterator* CreateIterator() const;
+
AliMpVPadIterator* CreateIterator(const AliMpPad& centerPad,
- Bool_t includeCenter=kFALSE) const;
+ Bool_t includeCenter=kFALSE) const;
+ Int_t GetNeighbours(const AliMpPad& pad, TObjArray& neighbours,
+ Bool_t includeSelf = kFALSE,
+ Bool_t includeVoid = kFALSE) const;
+
// methods
virtual AliMpPad PadByLocation(const AliMpIntPair& location,
Bool_t warning = kTRUE) const;