]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/macros/testSectorPadIterators.C
In mapping/macros:
[u/mrichter/AliRoot.git] / MUON / mapping / macros / testSectorPadIterators.C
1 // $Id$
2 // $MpId: testSectorPadIterators.C,v 1.11 2006/03/15 13:07:07 ivana Exp $
3 //
4 // Test macro for reading  sector, and iterate over it
5
6 #if !defined(__CINT__) || defined(__MAKECINT__)
7
8 #include "AliMpStation12Type.h"
9 #include "AliMpPlaneType.h"
10 #include "AliMpDataProcessor.h"
11 #include "AliMpDataMap.h"
12 #include "AliMpDataStreams.h"
13 #include "AliMpSector.h"
14 #include "AliMpSectorPadIterator.h"
15 #include "AliMpSectorReader.h"
16 #include "AliMpArea.h"
17 #include "AliMpVPadIterator.h"
18 #include "AliMpVPainter.h"
19
20 #include <Riostream.h>
21 #include <TCanvas.h>
22 #include <TMarker.h>
23
24 #endif
25
26 void testSectorPadIterators(AliMq::Station12Type station, AliMp::PlaneType plane)
27 {
28   AliMpDataProcessor mp;
29   AliMpDataMap* dataMap = mp.CreateDataMap("data");
30   AliMpDataStreams dataStreams(dataMap);
31
32   AliMpSectorReader r(dataStreams, station, plane);
33   AliMpSector* sector = r.BuildSector();
34   
35   Int_t num=0;
36   
37   //new TCanvas("canv");
38   new TCanvas();
39
40   const Double_t xmax=150;
41   const Double_t ymax=250;
42
43   AliMpSectorPadIterator it = AliMpSectorPadIterator(sector);
44
45   for (it.First(); ! it.IsDone(); it.Next()) {
46     AliMpIntPair indices = it.CurrentItem().GetIndices();
47     cout<<"Iterator number "<< num << " at "<< indices <<endl;
48     num++;
49     TMarker* marker = new TMarker( (Double_t)indices.GetFirst() /xmax,
50                                    (Double_t)indices.GetSecond()/ymax,
51                                    2);
52     marker->Draw();
53   }
54   
55   delete sector;
56 }
57
58 void testSectorPadIterators()
59 {
60   AliMq::Station12Type  station[2] = { AliMq::kStation1, AliMq::kStation2 }; 
61   AliMp::PlaneType      plane[2]   = { AliMp::kBendingPlane, AliMp::kNonBendingPlane };
62   
63   for ( Int_t is = 0; is < 2; is++ ) {
64     for ( Int_t ip = 0; ip < 2; ip++ ) {
65     
66       cout << "Running testSectorPadIterators for " 
67            << AliMq::Station12TypeName(station[is]) << "  "
68            << AliMp::PlaneTypeName(plane[ip])  << " ... " << endl;
69        
70       testSectorPadIterators(station[is], plane[ip]);
71     
72       cout << "... end running " << endl << endl;
73     }  
74   }   
75 }  
76