#include <Riostream.h>
#include <TCanvas.h>
+#include <TString.h>
#include <TH2.h>
#endif
+TCanvas* CreateTCanvas(const TString& name, const TString& title,
+ AliMq::Station12Type station, AliMp::PlaneType plane)
+{
+ TString newName(name);
+ TString newTitle(title);
+ TString unique = AliMq::Station12TypeName(station) + AliMp::PlaneTypeName(plane);
+ newName += unique;
+ newTitle += unique;
+ return new TCanvas(newName.Data(), newTitle.Data());
+}
+
void testAllIndices(AliMq::Station12Type station, AliMp::PlaneType plane)
{
AliMpDataProcessor mp;
AliMpSectorSegmentation segmentation(sector);
AliMpVPainter* painter = AliMpVPainter::CreatePainter(sector);
- TCanvas* c1 = new TCanvas("view",
- "MSectorPainter::Draw() output (view per pad)");
+ TCanvas* c1 = CreateTCanvas("view ",
+ "MSectorPainter::Draw() output (view per pad) ",
+ station, plane);
painter->Draw("ZSSMP");
c1->Update();
nx2, 0, nx2*2, ny2, 0, ny2*2);
// Define canvas
- TCanvas* c2 = new TCanvas("c2","Only existing pads are filled");
- TCanvas* c3 = new TCanvas("c3","Positions");
+ TCanvas* c2 = CreateTCanvas("c2 ", "Only existing pads are filled ", station, plane);
+ TCanvas* c3 = CreateTCanvas("c3 ", "Positions ", station, plane);
for ( Int_t irow=0; irow<sector->GetNofRows(); irow++ ) {
AliMpRow* row = sector->GetRow(irow);
histo2->Draw("box");
}
-void testAllIndices()
+void testSt12AllIndices()
{
AliMq::Station12Type station[2] = { AliMq::kStation1, AliMq::kStation2 };
AliMp::PlaneType plane[2] = { AliMp::kBendingPlane, AliMp::kNonBendingPlane };
#endif
+TCanvas* CreateTCanvas(const TString& name, const TString& title,
+ AliMq::Station12Type station, AliMp::PlaneType plane)
+{
+ TString newName(name);
+ TString newTitle(title);
+ TString unique = AliMq::Station12TypeName(station) + AliMp::PlaneTypeName(plane);
+ newName += unique;
+ newTitle += unique;
+ return new TCanvas(newName.Data(), newTitle.Data());
+}
+
class AliMpVPadIterator;
void MarkPads(AliMpVPadIterator& it,Int_t xmax,Int_t ymax,Bool_t print=kTRUE)
{
AliMpSector* sector = r.BuildSector();
AliMpSectorSegmentation segmentation(sector);
- TCanvas *canv = new TCanvas("canv");
+ TCanvas* canv = CreateTCanvas("canv ", "", station, plane);
canv->Divide(2,2);
canv->cd(1);
}
}
-void testAnyPadIterators()
+void testSt12AnyPadIterators()
{
AliMq::Station12Type station[2] = { AliMq::kStation1, AliMq::kStation2 };
AliMp::PlaneType plane[2] = { AliMp::kBendingPlane, AliMp::kNonBendingPlane };
#endif
+TCanvas* CreateTCanvas(const TString& name, const TString& title,
+ AliMq::Station12Type station, AliMp::PlaneType plane)
+{
+ TString newName(name);
+ TString newTitle(title);
+ TString unique = AliMq::Station12TypeName(station) + AliMp::PlaneTypeName(plane);
+ newName += unique;
+ newTitle += unique;
+ return new TCanvas(newName.Data(), newTitle.Data());
+}
+
void testExistingPads(AliMq::Station12Type station,AliMp::PlaneType plane)
{
AliMpDataProcessor mp;
AliMpSectorSegmentation* segmentation = new AliMpSectorSegmentation(sector);
AliMpVPainter* painter = AliMpVPainter::CreatePainter(sector);
- TCanvas* c1 = new TCanvas("view",
- "AliMpSectorPainter::Draw() output (view per pad)");
+ TCanvas* c1 = CreateTCanvas("view ",
+ "AliMpSectorPainter::Draw() output (view per pad) ",
+ station, plane);
painter->Draw("ZSSMP");
c1->Update();
TH2C* histo = new TH2C("histo","Existing pads",
nx, -0.5, nx-0.5, ny, -0.5, ny-0.5);
- TCanvas* c2 = new TCanvas("c2","Only existing pads are filled");
+ TCanvas* c2 = CreateTCanvas("c2 ","Only existing pads are filled ",
+ station, plane);
for (Int_t i=0; i<maxPadIndexX+1;i++){
for (Int_t j=0;j<maxPadIndexY+1;++j){
TH2C* histo2 = new TH2C("histo2","Existing pads2",
nx, -0.5, nx-0.5, ny, -0.5, ny-0.5);
- TCanvas* c3 = new TCanvas("c3","Only existing pads are filled");
+ TCanvas* c3 = CreateTCanvas("c3 ","Only existing pads are filled ",
+ station, plane);
AliMpFastSegmentation* fast = new AliMpFastSegmentation(segmentation);
for (Int_t i=0; i<maxPadIndexX+1;i++){
delete fast;
}
-void testExistingPads()
+void testSt12ExistingPads()
{
AliMq::Station12Type station[2] = { AliMq::kStation1, AliMq::kStation2 };
AliMp::PlaneType plane[2] = { AliMp::kBendingPlane, AliMp::kNonBendingPlane };
delete segmentation;
}
-void testExistingPads2()
+void testSt12ExistingPads2()
{
AliMq::Station12Type station[2] = { AliMq::kStation1, AliMq::kStation2 };
AliMp::PlaneType plane[2] = { AliMp::kBendingPlane, AliMp::kNonBendingPlane };
#endif
+TCanvas* CreateTCanvas(const TString& name, const TString& title,
+ AliMq::Station12Type station, AliMp::PlaneType plane)
+{
+ TString newName(name);
+ TString newTitle(title);
+ TString unique = AliMq::Station12TypeName(station) + AliMp::PlaneTypeName(plane);
+ newName += unique;
+ newTitle += unique;
+ return new TCanvas(newName.Data(), newTitle.Data());
+}
+
void testGraphics(AliMq::Station12Type station, AliMp::PlaneType plane)
{
AliMpDataProcessor mp;
Int_t id = sector->GetRow(5)->GetRowSegment(0)->GetMotifPositionId(0);
AliMpMotifPosition* motifPos = sector->GetMotifMap()->FindMotifPosition(id);
AliMpVPainter* motifPainter = AliMpVPainter::CreatePainter(motifPos);
- new TCanvas("onepad","One motif");
+ CreateTCanvas("onepad ","One motif ", station, plane);
motifPainter->Draw("PT");
//////////////////////////////
painter->Draw("RSMCI");
}
-void testGraphics()
+void testSt12Graphics()
{
AliMq::Station12Type station[2] = { AliMq::kStation1, AliMq::kStation2 };
AliMp::PlaneType plane[2] = { AliMp::kBendingPlane, AliMp::kNonBendingPlane };
delete sector;
}
-void testIndicesLimits()
+void testSt12IndicesLimits()
{
AliMq::Station12Type station[2] = { AliMq::kStation1, AliMq::kStation2 };
AliMp::PlaneType plane[2] = { AliMp::kBendingPlane, AliMp::kNonBendingPlane };
#endif
+TCanvas* CreateTCanvas(const TString& name, const TString& title,
+ AliMq::Station12Type station, AliMp::PlaneType plane)
+{
+ TString newName(name);
+ TString newTitle(title);
+ TString unique = AliMq::Station12TypeName(station) + AliMp::PlaneTypeName(plane);
+ newName += unique;
+ newTitle += unique;
+ return new TCanvas(newName.Data(), newTitle.Data());
+}
+
void testMotifTypeIterators(AliMq::Station12Type station, AliMp::PlaneType plane)
{
TString names;
Int_t i;
for (i=0;i<1+(nofMotifs-1)/4;++i){
TString cname("canv"); cname += i;
- TCanvas* canv = new TCanvas(cname.Data(),"Iterator viewing...");
+ TCanvas* canv = CreateTCanvas(cname.Data(),"Iterator viewing...", station, plane);
canv->Divide(2,2);
cvs.push_back(canv);
}
cvs[i/4]->Update();
}
}
-void testMotifTypeIterators()
+void testSt12MotifTypeIterators()
{
AliMq::Station12Type station[2] = { AliMq::kStation1, AliMq::kStation2 };
AliMp::PlaneType plane[2] = { AliMp::kBendingPlane, AliMp::kNonBendingPlane };
#endif
+TCanvas* CreateTCanvas(const TString& name, const TString& title,
+ AliMq::Station12Type station, AliMp::PlaneType plane)
+{
+ TString newName(name);
+ TString newTitle(title);
+ TString unique = AliMq::Station12TypeName(station) + AliMp::PlaneTypeName(plane);
+ newName += unique;
+ newTitle += unique;
+ return new TCanvas(newName.Data(), newTitle.Data());
+}
+
void testNeighboursPadIterator(AliMq::Station12Type station, AliMp::PlaneType plane,
Int_t i=50, Int_t j=50)
{
AliMpSector* sector = r.BuildSector();
AliMpSectorSegmentation segm(sector);
- new TCanvas("canv");
+ CreateTCanvas("canv ", "", station, plane);
const Double_t xmax=75;
const Double_t ymax=120;
delete sector;
}
-void testNeighboursPadIterator()
+void testSt12NeighboursPadIterator()
{
AliMq::Station12Type station[2] = { AliMq::kStation1, AliMq::kStation2 };
AliMp::PlaneType plane[2] = { AliMp::kBendingPlane, AliMp::kNonBendingPlane };
}
}
-void testPadDimensions()
+void testSt12PadDimensions()
{
AliMq::Station12Type station[2] = { AliMq::kStation1, AliMq::kStation2 };
AliMp::PlaneType plane[2] = { AliMp::kBendingPlane, AliMp::kNonBendingPlane };
}
}
-void testPadsUpEtc()
+void testSt12PadsUpEtc()
{
AliMq::Station12Type station[2] = { AliMq::kStation1, AliMq::kStation2 };
AliMp::PlaneType plane[2] = { AliMp::kBendingPlane, AliMp::kNonBendingPlane };
#endif
+TCanvas* CreateTCanvas(const TString& name, const TString& title,
+ AliMq::Station12Type station, AliMp::PlaneType plane)
+{
+ TString newName(name);
+ TString newTitle(title);
+ TString unique = AliMq::Station12TypeName(station) + AliMp::PlaneTypeName(plane);
+ newName += unique;
+ newTitle += unique;
+ return new TCanvas(newName.Data(), newTitle.Data());
+}
+
void testPrintLimits(AliMq::Station12Type station, AliMp::PlaneType plane,
ostream& out=cout)
{
AliMpSectorReader r(dataStreams, station, plane);
AliMpSector* sector = r.BuildSector();
+ //new TCanvas(" ", " ", station, plane); // BREAKS
new TCanvas();
AliMpVPainter* painter = AliMpVPainter::CreatePainter(sector);
}
}
-void testPrintLimits()
+void testSt12PrintLimits()
{
AliMq::Station12Type station[2] = { AliMq::kStation1, AliMq::kStation2 };
AliMp::PlaneType plane[2] = { AliMp::kBendingPlane, AliMp::kNonBendingPlane };
}
}
-void testReadMotifType()
+void testSt12ReadMotifType()
{
AliMq::Station12Type station[2] = { AliMq::kStation1, AliMq::kStation2 };
AliMp::PlaneType plane[2] = { AliMp::kBendingPlane, AliMp::kNonBendingPlane };
delete sector;
}
-void testReadSector()
+void testSt12ReadSector()
{
AliMq::Station12Type station[2] = { AliMq::kStation1, AliMq::kStation2 };
AliMp::PlaneType plane[2] = { AliMp::kBendingPlane, AliMp::kNonBendingPlane };
class AliMpVPadIterator;
+TCanvas* CreateTCanvas(const TString& name, const TString& title,
+ AliMq::Station12Type station, AliMp::PlaneType plane)
+{
+ TString newName(name);
+ TString newTitle(title);
+ TString unique = AliMq::Station12TypeName(station) + AliMp::PlaneTypeName(plane);
+ newName += unique;
+ newTitle += unique;
+ return new TCanvas(newName.Data(), newTitle.Data());
+}
+
void MarkPads(AliMpVPadIterator& it, Double_t xmax, Double_t ymax,
+ AliMq::Station12Type station, AliMp::PlaneType plane,
Bool_t print = kTRUE)
{
// Marks pads according their position.
it.CurrentItem().GetIndices().GetSecond());
}
- TCanvas *canv2 = new TCanvas("canv2");
+ TCanvas* canv2 = CreateTCanvas("canv2 ", " ", station, plane);
canv2->cd();
//histo->SetMinimum(1.5);
histo->Draw("box");
area = AliMpArea(TVector2(60.,60.),TVector2(60.,60.));
AliMpVPadIterator* iter = segmentation.CreateIterator(area);
- new TCanvas("Graph");
+ CreateTCanvas("Graph ", " ", station, plane);
AliMpVPainter::CreatePainter(sector)->Draw("ZSSMP");
- TCanvas* canv = new TCanvas("canv");
+ TCanvas* canv = CreateTCanvas("canv ", " ", station, plane);
canv->Range(-1,-1,1,1);
MarkPads(*iter, TMath::Abs(area.Position().X())+area.Dimensions().X(),
- TMath::Abs(area.Position().Y())+area.Dimensions().Y(), kTRUE);
+ TMath::Abs(area.Position().Y())+area.Dimensions().Y(),
+ station, plane, kTRUE);
}
-void testSectorAreaIterator()
+void testSt12SectorAreaIterator()
{
AliMq::Station12Type station[2] = { AliMq::kStation1, AliMq::kStation2 };
AliMp::PlaneType plane[2] = { AliMp::kBendingPlane, AliMp::kNonBendingPlane };
#endif
+TCanvas* CreateTCanvas(const TString& name, const TString& title,
+ AliMq::Station12Type station, AliMp::PlaneType plane)
+{
+ TString newName(name);
+ TString newTitle(title);
+ TString unique = AliMq::Station12TypeName(station) + AliMp::PlaneTypeName(plane);
+ newName += unique;
+ newTitle += unique;
+ return new TCanvas(newName.Data(), newTitle.Data());
+}
+
void testSectorFind(AliMq::Station12Type station, AliMp::PlaneType plane)
{
AliMpDataProcessor mp;
AliMpSector* sector = r.BuildSector();
AliMpSectorSegmentation segmentation(sector);
- new TCanvas();
+ CreateTCanvas("", "", station, plane);
AliMpVPainter* painter = AliMpVPainter::CreatePainter(sector);
painter->Draw("ZSSMP");
}
}
-void testSectorFind()
+void testSt12SectorFind()
{
AliMq::Station12Type station[2] = { AliMq::kStation1, AliMq::kStation2 };
AliMp::PlaneType plane[2] = { AliMp::kBendingPlane, AliMp::kNonBendingPlane };
#endif
+TCanvas* CreateTCanvas(const TString& name, const TString& title,
+ AliMq::Station12Type station, AliMp::PlaneType plane)
+{
+ TString newName(name);
+ TString newTitle(title);
+ TString unique = AliMq::Station12TypeName(station) + AliMp::PlaneTypeName(plane);
+ newName += unique;
+ newTitle += unique;
+ return new TCanvas(newName.Data(), newTitle.Data());
+}
+
void testSectorPadIterators(AliMq::Station12Type station, AliMp::PlaneType plane)
{
AliMpDataProcessor mp;
Int_t num=0;
//new TCanvas("canv");
- new TCanvas();
+ CreateTCanvas("", "", station, plane);
const Double_t xmax=150;
const Double_t ymax=250;
delete sector;
}
-void testSectorPadIterators()
+void testSt12SectorPadIterators()
{
AliMq::Station12Type station[2] = { AliMq::kStation1, AliMq::kStation2 };
AliMp::PlaneType plane[2] = { AliMp::kBendingPlane, AliMp::kNonBendingPlane };
--- /dev/null
+#!/bin/sh
+# $Id$
+
+# Test suite for running St12 mapping test macros in a batch mode.
+# The macros outputs are saved in test_out directory.
+#
+# by I. Hrivnacova, IPN Orsay
+
+OUTDIR="test_out"
+CURDIR=`pwd`
+
+cd $ALICE_ROOT/MUON/mapping/macros
+if [ ! -d $OUTDIR ]
+then
+ mkdir -p $OUTDIR
+fi
+
+for TEST in `ls testSt12*C` timeMapping.C
+do
+ TESTNAME=`echo $TEST | sed s/.C//g`
+ echo "Running $TESTNAME ..."
+ #aliroot -b >& testSt12AllIndices.out << EOF
+ aliroot -b >& $OUTDIR/$TESTNAME".out" << EOF
+ .L $TEST+
+ $TESTNAME();
+ .q
+EOF
+
+done
+
+mv testExistingPads.*.out $OUTDIR
+
+cd $CURDIR