]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/macros/testSt345ReadPCB.C
Patch for the pointer to AOD event
[u/mrichter/AliRoot.git] / MUON / mapping / macros / testSt345ReadPCB.C
1 // $Id$
2
3 #if !defined(__CINT__) || defined(__MAKECINT__)
4
5 #include "AliMpStation12Type.h"
6 #include "AliMpPlaneType.h"
7 #include "AliMpDataProcessor.h"
8 #include "AliMpDataMap.h"
9 #include "AliMpDataStreams.h"
10 #include "AliMpSlatMotifMap.h"
11 #include "AliMpSt345Reader.h"
12 #include "AliMpPCB.h"
13 #include "AliMpMotifPosition.h"
14
15 #include <Riostream.h>
16
17 #endif
18
19 void testSt345ReadPCB()
20 {
21   AliMpDataProcessor mp;
22   AliMpDataMap* dataMap = mp.CreateDataMap("data");
23   AliMpDataStreams dataStreams(dataMap);
24
25   AliMpSlatMotifMap* motifMap = new AliMpSlatMotifMap();
26   AliMpSt345Reader r(dataStreams, motifMap);
27
28   const char* pcbToTest[] = { "B1", "B2", "B3+", "B3-", "N1", "N2+", "N2-", 
29   "N3", "R1B", "R1N", "R2B", "R2N", "R3B", "R3N", "S2B-", "S2B+", "S2N" };
30   
31   Int_t N = sizeof(pcbToTest)/sizeof(const char*);
32   Int_t ok(0);
33   
34   for ( Int_t i = 0; i < N; ++i )
35   {
36     AliMpPCB* pcb = r.ReadPCB(pcbToTest[i]);
37     if (pcb)
38     {
39       ++ok;
40       pcb->Print();
41       for ( Int_t j = 0; j < pcb->GetSize(); ++j )
42       {
43         AliMpMotifPosition* pos = pcb->GetMotifPosition(j);
44         cout << "    " << j << " ";
45         pos->Print();
46       }
47     }
48     else
49     {
50       cout << "Cannot read " << pcbToTest[i] << endl;
51     }
52   }  
53   if ( ok == N ) 
54   {
55     cout << "Successfully read " << ok << " PCBs" << endl;
56   }
57   else
58   {
59     cout << "Failed to read " << (N-ok) << " PCBs out of " << N << endl;
60   }
61 }