/*
$Log$
+Revision 1.1 2003/01/28 13:21:06 morsch
+Improved response simulation for station 1.
+(M. Mac Cormick, I. Hrivnacova, D. Guez)
+
*/
// Authors: David Guez, Ivana Hrivnacova, Marion MacCormick; IPN Orsay
// Segmentation for MUON station 1 using the external
// mapping package
-#include <cmath>
-
#include <Riostream.h>
#include <TError.h>
#include <TObjArray.h>
#include <TVector2.h>
#include <TF1.h>
-#include <MPlane.h>
-#include <MPlaneType.h>
-#include <MPlaneSegmentation.h>
-#include <MPlaneAreaPadIterator.h>
-#include <MSector.h>
-#include <MZone.h>
-#include <MConstants.h>
+#include <AliMpPlane.h>
+#include <AliMpPlaneType.h>
+#include <AliMpPlaneSegmentation.h>
+#include <AliMpPlaneAreaPadIterator.h>
#include "AliMUONSt1Segmentation.h"
#include "AliRun.h"
const Float_t AliMUONSt1Segmentation::fgkLengthUnit = 0.1;
//______________________________________________________________________________
-AliMUONSt1Segmentation::AliMUONSt1Segmentation(const MPlaneType planeType)
+AliMUONSt1Segmentation::AliMUONSt1Segmentation(const AliMpPlaneType planeType)
: AliSegmentation(),
fPlane(0),
fPlaneSegmentation(0),
fCorrA(0)
{
// Normal constructor
- fPlane = MPlane::Create(planeType);
- fPlaneSegmentation = new MPlaneSegmentation(fPlane);
+ fPlane = AliMpPlane::Create(planeType);
+ fPlaneSegmentation = new AliMpPlaneSegmentation(fPlane);
fCorrA = new TObjArray(3);
fCorrA->AddAt(0,0);
//
//______________________________________________________________________________
-void AliMUONSt1Segmentation::UpdateCurrentPadValues(const MPad& pad)
+void AliMUONSt1Segmentation::UpdateCurrentPadValues(const AliMpPad& pad)
{
// Updates current pad values.
// ---
// If there is no pad, ix = 0, iy = 0 are returned.
// ---
- MPad pad = fPlaneSegmentation
+ AliMpPad pad = fPlaneSegmentation
->PadByPosition(TVector2(x/fgkLengthUnit, y/fgkLengthUnit), false);
ix = pad.GetIndices().GetFirst();
// If there is no pad, x = 0., y = 0. are returned.
// ---
- MPad pad = fPlaneSegmentation->PadByIndices(MIntPair(ix,iy));
+ AliMpPad pad = fPlaneSegmentation->PadByIndices(AliMpIntPair(ix,iy));
x = pad.Position().X() * fgkLengthUnit;
y = pad.Position().Y() * fgkLengthUnit;
fPlaneIterator
= fPlaneSegmentation
- ->CreateIterator(MArea(TVector2(fXhit/fgkLengthUnit, fYhit/fgkLengthUnit),
- TVector2(dx/fgkLengthUnit, dy/fgkLengthUnit)));
+ ->CreateIterator(AliMpArea(TVector2(fXhit/fgkLengthUnit, fYhit/fgkLengthUnit),
+ TVector2(dx/fgkLengthUnit, dy/fgkLengthUnit)));
fPlaneIterator->First();
// labelled by its channel numbers and a coordinate
// ---
- MPad pad = fPlaneSegmentation->PadByIndices(MIntPair(iX, iY));
+ AliMpPad pad = fPlaneSegmentation->PadByIndices(AliMpIntPair(iX, iY));
if (!pad.IsValid())
Fatal("Distance2AndOffset", "Cannot locate pad.");
// Get next neighbours
// ---
- MPad pad = fPlaneSegmentation->PadByIndices(MIntPair(iX,iY));
+ AliMpPad pad = fPlaneSegmentation->PadByIndices(AliMpIntPair(iX,iY));
Int_t &i = *Nlist;
i=0;
- MVPadIterator* iter
+ AliMpVPadIterator* iter
= fPlaneSegmentation
- ->CreateIterator(MArea(pad.Position(),2.*pad.Dimensions()*1.1));
+ ->CreateIterator(AliMpArea(pad.Position(),2.*pad.Dimensions()*1.1));
for( iter->First(); !iter->IsDone() && i<10; iter->Next()) {
Xlist[i] = iter->CurrentItem().GetIndices().GetFirst();
// ---
return fPlaneSegmentation
- ->Zone(fPlaneSegmentation->PadByIndices(MIntPair(ix, iy)));
+ ->Zone(fPlaneSegmentation->PadByIndices(AliMpIntPair(ix, iy)));
}
//______________________________________________________________________________