66e0997c |
1 | // $Id$ |
2 | // |
3 | // Test macro for reading sector, and iterate over it |
4 | |
5 | void testNeighboursPadIterator(AliMpStationType station = kStation1, |
6 | AliMpPlaneType plane = kBendingPlane, |
7 | Int_t i=50, Int_t j=50) |
8 | { |
9 | if (!gInterpreter->IsLoaded("mlibs.C")){ |
10 | gROOT->LoadMacro("mlibs.C"); |
11 | gInterpreter->ProcessLine("mlibs()"); |
12 | } |
13 | |
14 | AliMpReader r(station, plane); |
15 | AliMpSector* sect = r.BuildSector(); |
16 | AliMpSectorSegmentation segm(sect); |
17 | |
18 | TCanvas *can = new TCanvas("canv"); |
19 | |
20 | const Double_t xmax=75; |
21 | const Double_t ymax=120; |
22 | |
23 | Int_t num=0; |
24 | |
25 | AliMpPad pad = segm.PadByIndices(AliMpIntPair(i,j)); |
26 | AliMpNeighboursPadIterator it = AliMpNeighboursPadIterator(&segm, pad,kFALSE); |
27 | |
28 | for (it.First(); ! it.IsDone(); it.Next()) { |
29 | AliMpIntPair indices = it.CurrentItem().GetIndices(); |
30 | cout<<"Iterator number "<< num++ << " at "<< indices <<endl; |
31 | TMarker* marker = new TMarker( (Double_t)indices.GetFirst() /xmax, |
32 | (Double_t)indices.GetSecond()/ymax, |
33 | 2); |
34 | marker->Draw(); |
35 | } |
36 | |
e8c253a0 |
37 | AliMpVPadIterator* iter2 |
38 | = segm.CreateIterator(AliMpArea(pad.Position(),2.*pad.Dimensions()*1.1)); |
39 | |
40 | Int_t i=0; |
41 | for( iter2->First(); !iter2->IsDone() && i<10; iter2->Next()) { |
42 | Int_t ix = iter2->CurrentItem().GetIndices().GetFirst(); |
43 | Int_t iy = iter2->CurrentItem().GetIndices().GetSecond(); |
44 | cout<<"Iterator number "<< i << " at "<< iter2->CurrentItem().GetIndices() <<endl; |
45 | i++; |
46 | } |
47 | |
48 | delete iter2; |
66e0997c |
49 | delete sect; |
50 | } |