- not needed after changing mm->cm in mapping.
(Laurent)
ClassImp(AliMUONSt12QuadrantSegmentation)
const Float_t AliMUONSt12QuadrantSegmentation::fgkWireD = 0.21;
-const Float_t AliMUONSt12QuadrantSegmentation::fgkLengthUnit = 0.1;
//______________________________________________________________________________
AliMUONSt12QuadrantSegmentation::AliMUONSt12QuadrantSegmentation(
fIx = pad.GetIndices().GetFirst();
fIy = pad.GetIndices().GetSecond();
- fX = pad.Position().X() * fgkLengthUnit;
- fY = pad.Position().Y() * fgkLengthUnit;
+ fX = pad.Position().X();
+ fY = pad.Position().Y();
fZone = fSectorSegmentation->Zone(pad);
}
// fSector->GetMotifMap()->Print();
AliMpPad pad = fSectorSegmentation
- ->PadByPosition(TVector2(x/fgkLengthUnit, y/fgkLengthUnit), false);
+ ->PadByPosition(TVector2(x,y), false);
return pad.IsValid();
}
// If there is no pad, ix = 0, iy = 0 are returned.
// ---
- AliMpPad pad = fSectorSegmentation
- ->PadByPosition(TVector2(x/fgkLengthUnit, y/fgkLengthUnit), true);
+ AliMpPad pad = fSectorSegmentation->PadByPosition(TVector2(x,y), true);
ix = pad.GetIndices().GetFirst();
iy = pad.GetIndices().GetSecond();
AliMpPad pad = fSectorSegmentation->PadByIndices(AliMpIntPair(ix,iy), true);
- x = pad.Position().X() * fgkLengthUnit;
- y = pad.Position().Y() * fgkLengthUnit;
+ x = pad.Position().X();
+ y = pad.Position().Y();
}
// Pad size in x by sector
// ---
- return fSectorSegmentation->PadDimensions(isector).X()*2.*fgkLengthUnit;
+ return fSectorSegmentation->PadDimensions(isector).X()*2.0;
}
//______________________________________________________________________________
// Pad size in x, y by Sector
// ---
- return fSectorSegmentation->PadDimensions(isector).Y()*2.*fgkLengthUnit;
+ return fSectorSegmentation->PadDimensions(isector).Y()*2.0;
}
//______________________________________________________________________________
fSectorIterator
= fSectorSegmentation
- ->CreateIterator(AliMpArea(TVector2(fXhit/fgkLengthUnit, fYhit/fgkLengthUnit),
- TVector2(dx/fgkLengthUnit, dy/fgkLengthUnit)));
+ ->CreateIterator(AliMpArea(TVector2(fXhit,fYhit),TVector2(dx,dy)));
+ AliDebug(1,Form("CreateIterator area=%e,%e +- %e,%e %s",
+ fXhit,fYhit,dx,dy,PlaneTypeName(fPlaneType)));
+
fSectorIterator->First();
if (! fSectorIterator->IsDone())
if (!pad.IsValid())
AliFatal("Cannot locate pad.");
- return (pad.Position()*fgkLengthUnit - TVector2(x, y)).Mod2();
+ return (pad.Position() - TVector2(x, y)).Mod2();
}
//______________________________________________________________________________
return fSectorSegmentation
->Zone(fSectorSegmentation
- ->PadByPosition(TVector2(x/fgkLengthUnit, y/fgkLengthUnit)));
+ ->PadByPosition(TVector2(x,y)));
}
//______________________________________________________________________________
// constants
static const Float_t fgkWireD; // default wire pitch
- static const Float_t fgkLengthUnit;// conversion between length units
- // from mapping (mm) to AliRoot (cm)
+
// data members
// From mapping
namespace
{
- Double_t fgkLengthUnit = 0.1; // This class expects centimeters, while
- // AliMpSlat works with milimeters.
Int_t fgIntOffset = 1;
Float_t FMAX(1E9);
}
{
AliFatal("pcb is null!");
}
- return pcb->PadSizeX() * fgkLengthUnit;
+ return pcb->PadSizeX();
}
//_____________________________________________________________________________
{
AliFatal("pcb is null!");
}
- return pcb->PadSizeY() * fgkLengthUnit;
+ return pcb->PadSizeY();
}
//_____________________________________________________________________________
// Note that we convert the area position to a reference frame
// located in the lower-left corner of the slat, instead of its
// center.
- AliMpArea area(TVector2((x01+x02)/2.0/fgkLengthUnit+fSlat->DX(),
- (y01+y02)/2.0/fgkLengthUnit+fSlat->DY()),
- TVector2(xext/2.0/fgkLengthUnit,yext/2.0/fgkLengthUnit));
+// AliMpArea area(TVector2((x01+x02)/2.0+fSlat->DX(),
+// (y01+y02)/2.0+fSlat->DY()),
+// TVector2(xext/2.0,yext/2.0));
+ AliMpArea area(TVector2((x01+x02)/2.0,(y01+y02)/2.0),
+ TVector2(xext/2.0,yext/2.0));
delete fPadIterator;
AliMpPad pad =
fSlatSegmentation->PadByIndices(AliMpIntPair(ix-fgIntOffset,iy-fgIntOffset),
kTRUE);
- x = pad.Position().X() * fgkLengthUnit;
- y = pad.Position().Y() * fgkLengthUnit;
+ x = pad.Position().X();
+ y = pad.Position().Y();
}
AliMUONSt345SlatSegmentationV2::GetPadI(Float_t x, Float_t y,
Int_t& ix, Int_t& iy)
{
- Double_t slatx = fSlat->DX();
- Double_t slaty = fSlat->DY();
+// Double_t slatx = fSlat->DX();
+// Double_t slaty = fSlat->DY();
AliMpPad pad =
- fSlatSegmentation->PadByPosition(TVector2(x/fgkLengthUnit+slatx,
- y/fgkLengthUnit+slaty), kTRUE);
+ fSlatSegmentation->PadByPosition(TVector2(x,y), kTRUE);
+// fSlatSegmentation->PadByPosition(TVector2(x+slatx,y+slaty), kTRUE);
if ( pad != AliMpPad::Invalid() )
{
// y1 = fYhit - fY - Dpy(fSector)/2.;
// y2 = y1 + Dpy(fSector);
- Float_t x = fCurrentPad.Position().X() * fgkLengthUnit;
- Float_t y = fCurrentPad.Position().Y() * fgkLengthUnit;
+ Float_t x = fCurrentPad.Position().X();
+ Float_t y = fCurrentPad.Position().Y();
- Float_t padsizex = fCurrentPad.Dimensions().X() * 2.0 * fgkLengthUnit;
- Float_t padsizey = fCurrentPad.Dimensions().Y() * 2.0 * fgkLengthUnit;
+ Float_t padsizex = fCurrentPad.Dimensions().X() * 2.0;
+ Float_t padsizey = fCurrentPad.Dimensions().Y() * 2.0;
x1 = fXhit - x - padsizex/2.0;
x2 = x1 + padsizex;
// Define the region to look into : a region slightly bigger
// than the pad itself (10% bigger), in order to catch first neighbours.
- AliMpArea area(pad.Position()+fSlat->Dimensions(),pad.Dimensions()*2.1);
+// AliMpArea area(pad.Position()+fSlat->Dimensions(),pad.Dimensions()*2.1);
+ AliMpArea area(pad.Position(),pad.Dimensions()*2.1);
AliMpVPadIterator* it = fSlatSegmentation->CreateIterator(area);
it->First();