2 // $MpId: testPadDimensions.C,v 1.6 2005/10/28 15:36:08 ivana Exp $
4 // Test macro for testing retrieving of pad dimensions from
5 // the map in AliMpSectorSegmentation.
7 #if !defined(__CINT__) || defined(__MAKECINT__)
9 #include "AliMpStation12Type.h"
10 #include "AliMpPlaneType.h"
11 #include "AliMpDataProcessor.h"
12 #include "AliMpDataMap.h"
13 #include "AliMpDataStreams.h"
14 #include "AliMpSector.h"
15 #include "AliMpSectorSegmentation.h"
16 #include "AliMpSectorReader.h"
18 #include <Riostream.h>
22 void testPadDimensions(AliMq::Station12Type station, AliMp::PlaneType plane)
24 AliMpDataProcessor mp;
25 AliMpDataMap* dataMap = mp.CreateDataMap("data");
26 AliMpDataStreams dataStreams(dataMap);
28 AliMpSectorReader r(dataStreams, station, plane);
29 AliMpSector* sector = r.BuildSector();
30 AliMpSectorSegmentation segmentation(sector);
31 segmentation.PrintZones();
33 TVector2 previousDimensions;
34 for (Int_t i=1; i<segmentation.MaxPadIndexX()+1;i++)
35 for (Int_t j=1;j<segmentation.MaxPadIndexY()+1;++j) {
37 AliMpIntPair indices(i,j);
38 if (segmentation.HasPad(indices)) {
40 // Check pad dimensions
41 AliMpPad pad = segmentation.PadByIndices(indices);
42 TVector2 dimensions = segmentation.PadDimensions(segmentation.Zone(pad));
44 if ( dimensions.X() != previousDimensions.X() ||
45 dimensions.Y() != previousDimensions.Y() ) {
48 cout << "Pad: " << indices;
49 cout << " dimensions: (" << dimensions.X() << ", " << dimensions.Y() << ")"
52 previousDimensions = dimensions;
58 void testPadDimensions()
60 AliMq::Station12Type station[2] = { AliMq::kStation1, AliMq::kStation2 };
61 AliMp::PlaneType plane[2] = { AliMp::kBendingPlane, AliMp::kNonBendingPlane };
63 for ( Int_t is = 0; is < 2; is++ ) {
64 for ( Int_t ip = 0; ip < 2; ip++ ) {
66 cout << "Running testPadDimensions for "
67 << AliMq::Station12TypeName(station[is]) << " "
68 << AliMp::PlaneTypeName(plane[ip]) << " ... " << endl;
70 testPadDimensions(station[is], plane[ip]);
72 cout << "... end running " << endl << endl;