#include "TPolyLine.h"
#include "TSystem.h"
+using std::cout;
+using std::endl;
///\cond CLASSIMP
ClassImp(AliMUONContourHandler)
///\endcond
/// 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);
AliMUONContourHandler::~AliMUONContourHandler()
{
/// Dtor
+ delete fTransformations;
delete fAllContourMap;
delete fAllContourArray;
}
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;
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<TMap*>(mapArray->At(i));
if (!m)
// 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);
}
else
{
- AliError(Form("Did not find contour %s",k->String().Data()))
+ AliError(Form("Did not find contour %s",k->String().Data()));
continue;
}
}
//_____________________________________________________________________________
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();
}
}