2 // $MpId: testNeighboursPadIterator.C,v 1.8 2005/08/24 08:53:27 ivana Exp $
4 // Test macro for reading sector, and iterate over it
6 void testNeighboursPadIterator(AliMpStationType station = kStation1,
7 AliMpPlaneType plane = kBendingPlane,
8 Int_t i=50, Int_t j=50)
10 if (!gInterpreter->IsLoaded("mlibs.C")){
11 gROOT->LoadMacro("mlibs.C");
12 gInterpreter->ProcessLine("mlibs()");
15 AliMpSectorReader r(station, plane);
16 AliMpSector* sect = r.BuildSector();
17 AliMpSectorSegmentation segm(sect);
19 TCanvas *can = new TCanvas("canv");
21 const Double_t xmax=75;
22 const Double_t ymax=120;
26 AliMpPad pad = segm.PadByIndices(AliMpIntPair(i,j));
27 AliMpNeighboursPadIterator it = AliMpNeighboursPadIterator(&segm, pad,kFALSE);
29 for (it.First(); ! it.IsDone(); it.Next()) {
30 AliMpIntPair indices = it.CurrentItem().GetIndices();
31 cout<<"Iterator number "<< num++ << " at "<< indices <<endl;
32 TMarker* marker = new TMarker( (Double_t)indices.GetFirst() /xmax,
33 (Double_t)indices.GetSecond()/ymax,
38 AliMpVPadIterator* iter2
39 = segm.CreateIterator(AliMpArea(pad.Position(),2.*pad.Dimensions()*1.1));
42 for( iter2->First(); !iter2->IsDone() && i<10; iter2->Next()) {
43 Int_t ix = iter2->CurrentItem().GetIndices().GetFirst();
44 Int_t iy = iter2->CurrentItem().GetIndices().GetSecond();
45 cout<<"Iterator number "<< i << " at "<< iter2->CurrentItem().GetIndices() <<endl;