// $Id$
// $MpId: testIndicesLimits.C,v 1.5 2005/10/28 15:36:08 ivana Exp $
//
// Test macro for indices limits.
#if !defined(__CINT__) || defined(__MAKECINT__)
#include "AliMpStation12Type.h"
#include "AliMpPlaneType.h"
#include "AliMpDataProcessor.h"
#include "AliMpDataMap.h"
#include "AliMpDataStreams.h"
#include "AliMpSector.h"
#include "AliMpSectorReader.h"
#include "AliMpSectorSegmentation.h"
#include "AliMpRow.h"
#include "AliMpVRowSegment.h"
#include "AliMpMotifMap.h"
#include "AliMpMotifPosition.h"
#include "AliMpMotifType.h"
#include "AliMpEncodePair.h"
#include <Riostream.h>
#include <TCanvas.h>
#include <TH2.h>
#endif
void testIndicesLimits(AliMq::Station12Type station,AliMp::PlaneType plane)
{
AliMpDataProcessor mp;
AliMpDataMap* dataMap = mp.CreateDataMap("data");
AliMpDataStreams dataStreams(dataMap);
AliMpSectorReader r(dataStreams, station, plane);
AliMpSector *sector=r.BuildSector();
AliMpSectorSegmentation segmentation(sector);
// Loop over rows
for (Int_t i=0; i<sector->GetNofRows(); i++) {
AliMpRow* row = sector->GetRow(i);
cout << i << "th row limits: ";
AliMp::PairPut(cout, row->GetLowIndicesLimit()) << " ";
AliMp::PairPut(cout, row->GetHighIndicesLimit()) << endl;
// Loop over row segments
for (Int_t j=0; j<row->GetNofRowSegments(); j++) {
AliMpVRowSegment* rowSegment = row->GetRowSegment(j);
cout << " "
<< j
<< "th row segment limits: ";
AliMp::PairPut(cout, rowSegment->GetLowIndicesLimit()) << " ";
AliMp::PairPut(cout, rowSegment->GetHighIndicesLimit()) << endl;
// Loop over motif positions
for (Int_t k=0; k<rowSegment->GetNofMotifs(); k++) {
Int_t mposID = rowSegment->GetMotifPositionId(k);
AliMpMotifPosition* mPos =
sector->GetMotifMap()->FindMotifPosition(mposID);
if (mPos) {
cout << " "
<< mPos->GetID()
<< " motif position limits: ";
AliMp::PairPut(cout, mPos->GetLowIndicesLimit()) << " ";
AliMp::PairPut(cout, mPos->GetHighIndicesLimit()) << endl;
}
else {
cerr << "Motif position "
<< mposID << " not found in the map" << endl;
}
}
}
}
delete sector;
}
void testSt12IndicesLimits()
{
AliMq::Station12Type station[2] = { AliMq::kStation1, AliMq::kStation2 };
AliMp::PlaneType plane[2] = { AliMp::kBendingPlane, AliMp::kNonBendingPlane };
for ( Int_t is = 0; is < 2; is++ ) {
for ( Int_t ip = 0; ip < 2; ip++ ) {
cout << "Running testIndicesLimits for "
<< AliMq::Station12TypeName(station[is]) << " "
<< AliMp::PlaneTypeName(plane[ip]) << " ... " << endl;
testIndicesLimits(station[is], plane[ip]);
cout << "... end running " << endl << endl;
}
}
}
testSt12IndicesLimits.C:1 testSt12IndicesLimits.C:2 testSt12IndicesLimits.C:3 testSt12IndicesLimits.C:4 testSt12IndicesLimits.C:5 testSt12IndicesLimits.C:6 testSt12IndicesLimits.C:7 testSt12IndicesLimits.C:8 testSt12IndicesLimits.C:9 testSt12IndicesLimits.C:10 testSt12IndicesLimits.C:11 testSt12IndicesLimits.C:12 testSt12IndicesLimits.C:13 testSt12IndicesLimits.C:14 testSt12IndicesLimits.C:15 testSt12IndicesLimits.C:16 testSt12IndicesLimits.C:17 testSt12IndicesLimits.C:18 testSt12IndicesLimits.C:19 testSt12IndicesLimits.C:20 testSt12IndicesLimits.C:21 testSt12IndicesLimits.C:22 testSt12IndicesLimits.C:23 testSt12IndicesLimits.C:24 testSt12IndicesLimits.C:25 testSt12IndicesLimits.C:26 testSt12IndicesLimits.C:27 testSt12IndicesLimits.C:28 testSt12IndicesLimits.C:29 testSt12IndicesLimits.C:30 testSt12IndicesLimits.C:31 testSt12IndicesLimits.C:32 testSt12IndicesLimits.C:33 testSt12IndicesLimits.C:34 testSt12IndicesLimits.C:35 testSt12IndicesLimits.C:36 testSt12IndicesLimits.C:37 testSt12IndicesLimits.C:38 testSt12IndicesLimits.C:39 testSt12IndicesLimits.C:40 testSt12IndicesLimits.C:41 testSt12IndicesLimits.C:42 testSt12IndicesLimits.C:43 testSt12IndicesLimits.C:44 testSt12IndicesLimits.C:45 testSt12IndicesLimits.C:46 testSt12IndicesLimits.C:47 testSt12IndicesLimits.C:48 testSt12IndicesLimits.C:49 testSt12IndicesLimits.C:50 testSt12IndicesLimits.C:51 testSt12IndicesLimits.C:52 testSt12IndicesLimits.C:53 testSt12IndicesLimits.C:54 testSt12IndicesLimits.C:55 testSt12IndicesLimits.C:56 testSt12IndicesLimits.C:57 testSt12IndicesLimits.C:58 testSt12IndicesLimits.C:59 testSt12IndicesLimits.C:60 testSt12IndicesLimits.C:61 testSt12IndicesLimits.C:62 testSt12IndicesLimits.C:63 testSt12IndicesLimits.C:64 testSt12IndicesLimits.C:65 testSt12IndicesLimits.C:66 testSt12IndicesLimits.C:67 testSt12IndicesLimits.C:68 testSt12IndicesLimits.C:69 testSt12IndicesLimits.C:70 testSt12IndicesLimits.C:71 testSt12IndicesLimits.C:72 testSt12IndicesLimits.C:73 testSt12IndicesLimits.C:74 testSt12IndicesLimits.C:75 testSt12IndicesLimits.C:76 testSt12IndicesLimits.C:77 testSt12IndicesLimits.C:78 testSt12IndicesLimits.C:79 testSt12IndicesLimits.C:80 testSt12IndicesLimits.C:81 testSt12IndicesLimits.C:82 testSt12IndicesLimits.C:83 testSt12IndicesLimits.C:84 testSt12IndicesLimits.C:85 testSt12IndicesLimits.C:86 testSt12IndicesLimits.C:87 testSt12IndicesLimits.C:88 testSt12IndicesLimits.C:89 testSt12IndicesLimits.C:90 testSt12IndicesLimits.C:91 testSt12IndicesLimits.C:92 testSt12IndicesLimits.C:93 testSt12IndicesLimits.C:94 testSt12IndicesLimits.C:95 testSt12IndicesLimits.C:96 testSt12IndicesLimits.C:97 testSt12IndicesLimits.C:98 testSt12IndicesLimits.C:99 testSt12IndicesLimits.C:100 testSt12IndicesLimits.C:101 testSt12IndicesLimits.C:102