AliMUONPainterMasterFrame::Clicked(AliMUONVPainter* painter, Double_t* values)
{
/// A given painter was (singly) clicked
-
- AliDebug(1,Form("%s x %7.3f y %7.3f",painter->GetName(),values[0],values[1]));
- AliCodeTimerAuto("")
-
- fPainterMatrixFrame->MouseLeave(painter);
+ if ( painter->CanBeDetached() )
+ {
+ fPainterMatrixFrame->MouseLeave(painter);
- AliMUONPainterMatrix* matrix = new AliMUONPainterMatrix(painter->Name().Data());
+ AliMUONPainterMatrix* matrix = new AliMUONPainterMatrix(painter->Name().Data());
- AliMUONVPainter* p = painter->Detach();
+ AliMUONVPainter* p = painter->Detach();
- p->SetResponder(1);
+ p->SetResponder(1);
- matrix->Adopt(p);
+ matrix->Adopt(p);
- AddPainterMatrix(matrix);
- ShowPainterMatrix(matrix);
+ AddPainterMatrix(matrix);
+ ShowPainterMatrix(matrix);
+ }
+ else
+ {
+ painter->DrawHistogram(values);
+ }
}
//_____________________________________________________________________________
{
/// A given painter was shift-clicked
+ if ( !painter->CanBeDetached() ) return;
+
AliMUONPainterMatrix* currentMatrix = fPainterMatrixFrame->Matrix();
AliMUONAttPainter a = painter->Attributes();
TString newName = AliMUONPainterMatrix::NameIt(basename.Data(),a);
- AliMUONPainterMatrix* matrix =
- AliMUONPainterRegistry::Instance()->FindPainterMatrix(newName.Data());
+ AliMUONPainterMatrix* matrix = AliMUONPainterRegistry::Instance()->PainterMatrix(newName.Data());
if (!matrix)
{
// create "opposite" attributes
AliMUONAttPainter a1(a);
AliMUONAttPainter a2(a);
-
- if ( a.IsCathodeDefined() )
- {
- a2.SetCathode(!a.IsCathode0(),!a.IsCathode1());
- }
-
- if ( a.IsPlaneDefined() )
- {
- a2.SetPlane(!a.IsBendingPlane(),!a.IsNonBendingPlane());
- }
+
+ a2.Invert();
a1.SetCathodeAndPlaneDisabled(kTRUE);
a2.SetCathodeAndPlaneDisabled(kTRUE);
-
+
AliMUONVPainter* p1 = AliMUONVPainter::CreatePainter(painter->ClassName(),
a1,
painter->ID0(),
painter->ID1());
AliMUONVPainter* p2 = AliMUONVPainter::CreatePainter(painter->ClassName(),
- a2,
- painter->ID0(),
- painter->ID1());
+ a2,
+ painter->ID0(),
+ painter->ID1());
if (!p1 || !p2)
{
return;
}
- AliInfo(Form("Starting from %s will generate %s and %s",
- a.GetName(),
- a1.GetName(),
- a2.GetName()));
-
p1->UpdateGroupsFrom(*(painter->Master()));
p2->UpdateGroupsFrom(*(painter->Master()));
Int_t ny(1);
AliMpArea area(painter->Area());
-
- if ( area.Dimensions().X() > 1.2*area.Dimensions().Y() )
+
+ if ( area.GetDimensionX() > 1.2*area.GetDimensionY() )
{
nx = 1;
ny = 2;
PainterMatrixWantToShow(matrix);
}
+//_____________________________________________________________________________
+void
+AliMUONPainterMasterFrame::SaveAs(const char* filename, Option_t* option) const
+{
+ /// Save painter matrix (in the sense of "print") in filename
+ fPainterMatrixFrame->SaveAs(filename,option);
+}
+
//_____________________________________________________________________________
void
AliMUONPainterMasterFrame::Update()
AliMUONAttPainter att;
- att.SetCathode(kTRUE,kFALSE);
+ att.SetPlane(kTRUE,kFALSE);
+// att.SetCathode(kTRUE,kFALSE);
att.SetViewPoint(kTRUE,kFALSE);
TString name = AliMUONPainterMatrix::NameIt("Tracker",att);
- AliMUONPainterMatrix* painterMatrix = AliMUONPainterRegistry::Instance()->FindPainterMatrix(name);
+ AliMUONPainterMatrix* painterMatrix = AliMUONPainterRegistry::Instance()->PainterMatrix(name);
if (!painterMatrix)
{
TString newName = AliMUONPainterMatrix::NameIt(currentMatrix->Basename(),a);
- AliMUONPainterMatrix* matrix =
- AliMUONPainterRegistry::Instance()->FindPainterMatrix(newName.Data());
+ AliMUONPainterMatrix* matrix = AliMUONPainterRegistry::Instance()->PainterMatrix(newName.Data());
if (!matrix)
{