X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2Fmchview.cxx;h=1326f83de3315788ebebfb61ce29298738d85d7b;hb=e690d4d0e7e285877ba06aa026c25491e293dbf5;hp=d28fce6fe95f04e932249d7b0d20c1b4198ce547;hpb=162637e45086576ffcf0568d28fa43359819765a;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/mchview.cxx b/MUON/mchview.cxx index d28fce6fe95..1326f83de33 100644 --- a/MUON/mchview.cxx +++ b/MUON/mchview.cxx @@ -34,6 +34,13 @@ #include #include +#include "AliMpDataProcessor.h" +#include "AliMpDataMap.h" +#include "AliMpDataStreams.h" +#include "AliMpDDLStore.h" +#include "AliMpManuStore.h" +#include "TEnv.h" + //______________________________________________________________________________ Int_t Usage() { @@ -43,6 +50,10 @@ Int_t Usage() cout << " --use filename.root : reuse a previously saved (from this program) root file. Several --use can be used ;-)" << endl; cout << " --geometry #x#+#+# : manually specify the geometry of the window, ala X11..., e.g. --geometry 1280x900+1600+0 will" << endl; cout << " get a window of size 1280x900, located at (1600,0) from the top-left of the (multihead) display " << endl; + cout << " --asciimapping : load mapping from ASCII files instead of OCDB (for debug and experts only...)" << endl; + cout << " --de detElemId : start by displaying the given detection element instead of the default view (which is all the chambers)" << endl; + cout << " --chamber chamberId (from 1 to 10) : start by displaying the given chamber instead of the default view (which is all the chambers)" << endl; + cout << " --ocdb ocdbPath : read the mapping from the given OCDB" << endl; return -1; } @@ -50,6 +61,9 @@ Int_t Usage() int main(int argc, char** argv) { /// Main function for the program + + gEnv->SetValue("Cocoa.EnableAntiAliasing","auto"); + TObjArray args; for ( int i = 1; i < argc; ++i ) @@ -61,9 +75,11 @@ int main(int argc, char** argv) TObjArray filesToOpen; Bool_t isGeometryFixed(kFALSE); - Int_t gix, giy; - Int_t gox,goy; - + Int_t gix(0),giy(0); + Int_t gox(0),goy(0); + Bool_t ASCIImapping(kFALSE); + TString defaultOCDB("local://$ALICE_ROOT/OCDB"); + for ( Int_t i = 0; i <= args.GetLast(); ++i ) { TString a(static_cast(args.At(i))->String()); @@ -83,11 +99,28 @@ int main(int argc, char** argv) { isGeometryFixed = kTRUE; TString g(static_cast(args.At(i+1))->String()); - sscanf(g.Data(),"%dx%d+%d+%d",&gix,&giy,&gox,&goy); + sscanf(g.Data(),"%10dx%10d+%10d+%10d",&gix,&giy,&gox,&goy); + nok += 2; + ++i; + } + else if ( a == "--asciimapping" ) + { + ++nok; + ASCIImapping = kTRUE; + } + else if ( a == "--de" || a == "--chamber" ) + { + // do nothing. Let AliMUONMchViewApplication handle that one. (and the next one as well). + nok += 2; + ++i; + } + else if ( a == "--ocdb" ) + { + defaultOCDB = static_cast(args.At(i+1))->String(); + cout << "Using default storage = " << defaultOCDB.Data() << endl; nok += 2; ++i; } - else { return Usage(); @@ -99,11 +132,27 @@ int main(int argc, char** argv) return Usage(); } - AliWarningGeneral("main","FIXME ? Remove default storage and run number from here..."); - - AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT/OCDB"); + AliCDBManager::Instance()->SetDefaultStorage(defaultOCDB.Data()); AliCDBManager::Instance()->SetRun(0); + if ( ASCIImapping ) + { + AliMpDataProcessor mp; + { + AliMpDataMap* datamap = mp.CreateDataMap("data"); + AliMpDataStreams dataStreams(datamap); + AliMpDDLStore::ReadData(dataStreams); + } + { + AliMpDataMap* datamap = mp.CreateDataMap("data_run"); + AliMpDataStreams dataStreams(datamap); + AliMpManuStore::ReadData(dataStreams); + } + + AliCDBManager::Instance()->SetSpecificStorage("MUON/Calib/Neighbours","local://$ALICE_ROOT/OCDB"); + + } + gROOT->SetStyle("Plain"); gStyle->SetPalette(1); Int_t n = gStyle->GetNumberOfColors(); @@ -117,23 +166,17 @@ int main(int argc, char** argv) gStyle->SetPalette(n+2,colors); delete[] colors; - UInt_t w(0); - UInt_t h(0); - UInt_t ox(0); - UInt_t oy(0); + AliMUONMchViewApplication* theApp(0x0); if ( isGeometryFixed ) { - w = gix; - h = giy; - ox = gox; - oy = goy; + theApp = new AliMUONMchViewApplication("mchview", &argc, argv,gix,giy,gox,goy); + } + else + { + theApp = new AliMUONMchViewApplication("mchview",&argc,argv); } - - AliMUONMchViewApplication* theApp = new AliMUONMchViewApplication("mchview", &argc, argv, w,h,gox,goy); - AliCodeTimer::Instance()->Print(); - TIter next(&filesToOpen); TObjString* s; while ( ( s = static_cast(next()) ) ) @@ -144,5 +187,5 @@ int main(int argc, char** argv) // --- Start the event loop --- theApp->Run(kTRUE); - AliMUONPainterHelper::Instance()->Save(); + delete AliMUONPainterHelper::Instance(); // important to trigger the saving of the env. file }