X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONContourHandler.cxx;h=5a91b1e2d143a2942fbcb74e9e466818a7211f80;hb=b44d42aef3ae7543fdd2d313a9d91fea53c13d82;hp=1b9e0afecd52d7c7a9cef8b530e04170cecd332e;hpb=99c136e1c3e77da0cd9cfccb149742d67c36aaa2;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONContourHandler.cxx b/MUON/AliMUONContourHandler.cxx index 1b9e0afecd5..5a91b1e2d14 100644 --- a/MUON/AliMUONContourHandler.cxx +++ b/MUON/AliMUONContourHandler.cxx @@ -51,6 +51,8 @@ #include "TPolyLine.h" #include "TSystem.h" +using std::cout; +using std::endl; ///\cond CLASSIMP ClassImp(AliMUONContourHandler) ///\endcond @@ -70,9 +72,15 @@ fAllContourArray(0x0) /// before you've loaded the mapping in memory (see e.g. AliMpCDB::LoadDDLStore) /// - fTransformations = GenerateTransformations(explodedView); + if ( explodedView ) + { + fTransformations = GenerateTransformations(explodedView); + } + AliMUONManuContourMaker manuMaker(fTransformations); + TObjArray* manus = manuMaker.GenerateManuContours(kTRUE); + if (manus) { manus->SetOwner(kFALSE); @@ -85,6 +93,7 @@ fAllContourArray(0x0) AliMUONContourHandler::~AliMUONContourHandler() { /// Dtor + delete fTransformations; delete fAllContourMap; delete fAllContourArray; } @@ -122,6 +131,13 @@ AliMUONContourHandler::CreateContourList(const TObjArray& manuContours) AliCodeTimerAuto("",0); + Int_t start(0); + + if ( !fTransformations ) + { + start = 2; // skip chamber and station contours, as we seem to be in 3D + } + TIter next(&manuContours); AliMUONContour* contour; TObjArray* mapArray = new TObjArray; @@ -132,7 +148,7 @@ AliMUONContourHandler::CreateContourList(const TObjArray& manuContours) TString key(contour->GetName()); TObjArray* s = key.Tokenize("/"); - for ( Int_t i = 0; i < s->GetLast(); ++i ) + for ( Int_t i = start; i < s->GetLast(); ++i ) { TMap* m = static_cast(mapArray->At(i)); if (!m) @@ -184,9 +200,6 @@ AliMUONContourHandler::GenerateAllContours(const TObjArray& manuContours) // Get the list of contours to create TObjArray* mapArray = CreateContourList(manuContours); - // Now loop over the mapArray to actually create the contours - TIter next2(mapArray,kIterBackward); - fAllContourMap = new TMap(20000,1); fAllContourMap->SetOwnerKeyValue(kTRUE,kTRUE); @@ -227,7 +240,7 @@ AliMUONContourHandler::GenerateAllContours(const TObjArray& manuContours) } else { - AliError(Form("Did not find contour %s",k->String().Data())) + AliError(Form("Did not find contour %s",k->String().Data())); continue; } } @@ -326,15 +339,22 @@ AliMUONContourHandler::GetContour(const char* contourname) const //_____________________________________________________________________________ void -AliMUONContourHandler::Print(Option_t* /*opt*/) const +AliMUONContourHandler::Print(Option_t* opt) const { /// printout - if ( fAllContourMap ) + if ( ! fAllContourMap ) return; + + cout << Form("Contour map : collisions = %5.3f size = %d capacity = %d", + fAllContourMap->AverageCollisions(), + fAllContourMap->GetSize(), + fAllContourMap->Capacity()) << endl; + + TString sopt(opt); + sopt.ToUpper(); + + if ( sopt.Contains("ALL") || sopt.Contains("FULL") ) { - cout << Form("Contour map : collisions = %5.3f size = %d capacity = %d", - fAllContourMap->AverageCollisions(), - fAllContourMap->GetSize(), - fAllContourMap->Capacity()) << endl; + fAllContourMap->Print(); } }