ROOT logo
/**************************************************************************
* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
*                                                                        *
* Author: The ALICE Off-line Project.                                    *
* Contributors are mentioned in the code where appropriate.              *
*                                                                        *
* Permission to use, copy, modify and distribute this software and its   *
* documentation strictly for non-commercial purposes is hereby granted   *
* without fee, provided that the above copyright notice appears in all   *
* copies and that both the copyright notice and this permission notice   *
* appear in the supporting documentation. The authors make no claims     *
* about the suitability of this software for any purpose. It is          *
* provided "as is" without express or implied warranty.                  *
**************************************************************************/

// $Id$

#include "AliMUONPainterMatrixFrame.h"

#include "AliMUONPainterColorSlider.h"
#include "AliMUONPainterMatrix.h"
#include "AliMUONPainterGroup.h"
#include "AliMUONPainterHighlighter.h"
#include "AliMUONPainterInterfaceHelper.h"
#include "AliMUONPainterPlotSelector.h"
#include "AliMUONPainterRegistry.h"
#include "AliMUONVTrackerData.h"
#include "AliMUONVPainter.h"
#include "AliLog.h"
#include <Riostream.h>
#include <TCanvas.h>
#include <TEnv.h>
#include <TGButton.h>
#include <TGButtonGroup.h>
#include <TGFrame.h>
#include <TGListBox.h>
#include <TObjArray.h>
#include <TObjString.h>
#include <TRootEmbeddedCanvas.h>
#include <TString.h>
#include <cassert>
#include <float.h>

/// \class AliMUONPainterMatrixFrame
///
/// A widget to draw a painter matrix, and the corresponding interface
/// to select what to outline or paint, and which part of the painter
/// is responding to mouse events
///
/// \author Laurent Aphecetche, Subatech

///\cond CLASSIMP
ClassImp(AliMUONPainterMatrixFrame)
///\endcond

//_____________________________________________________________________________
AliMUONPainterMatrixFrame::AliMUONPainterMatrixFrame(const TGWindow* window, 
                                                   UInt_t w, UInt_t h)
: TGCompositeFrame(window,w,h,kVerticalFrame|kDoubleBorder),
  fPainterMatrix(0x0),
  fView(0x0),
  fInterface(0x0),
  fResponderButtons(0x0),
  fOutlineButtons(0x0),
  fPlotSelector(0x0),
  fPainterHighlighter(new AliMUONPainterHighlighter),
  fCanvasWidth(0),
  fCanvasHeight(0),
  fMainFrame(0x0),
  fColorSlider(0x0)
{
    /// ctor
    const Int_t kBorderSize = 10;

    UInt_t wi = w - kBorderSize*0;
    UInt_t hi = h - kBorderSize*1;
    
    fCanvasWidth = wi;
    fCanvasHeight = (UInt_t)(hi*0.75);
    
    fMainFrame = new TGHorizontalFrame(this,fCanvasWidth,hi);
    
    const Int_t kColorWidth = 100;
    
    fColorSlider = new AliMUONPainterColorSlider(fMainFrame,kColorWidth,fCanvasHeight);
    
    fView = new TRootEmbeddedCanvas("ec",fMainFrame,fCanvasWidth-kColorWidth,fCanvasHeight,kChildFrame);
    
    fInterface = new TGHorizontalFrame(this,fCanvasWidth);
    
    fMainFrame->AddFrame(fView, new TGLayoutHints(kLHintsExpandX));
    fMainFrame->AddFrame(fColorSlider,new TGLayoutHints(kLHintsTop|kLHintsRight|kLHintsCenterY,kBorderSize/2));

    AliMUONPainterInterfaceHelper::SetBackgroundColor("MatrixFrame.ColorSlider",*fColorSlider);
    
    fResponderButtons = new TGButtonGroup(fInterface,"Responder");
    
    fOutlineButtons = new TGButtonGroup(fInterface,"Outline");
    
    fInterface->AddFrame(fResponderButtons);
    fInterface->AddFrame(fOutlineButtons);

    fPlotSelector = 
      new AliMUONPainterPlotSelector(fInterface);//,wi,interfaceHeight);
    
    fInterface->AddFrame(fPlotSelector);//,new TGLayoutHints(kLHintsRight|kLHintsExpandX));

    fOutlineButtons->Show();
    fResponderButtons->Show();
        
    AddFrame(fMainFrame,new TGLayoutHints(kLHintsExpandX|kLHintsTop,
                                         0,0,0,0));

    AddFrame(fInterface,new TGLayoutHints(kLHintsExpandX|kLHintsBottom,
             0,0,kBorderSize,0));


    // Set the connections
    
    fPlotSelector->Connect("DataSourceWasChanged(const char*,AliMUONVTrackerData*,Int_t)",                                
                                 "AliMUONPainterMatrixFrame",
                                 this,
                                 "DataSourceWasChanged(const char*,AliMUONVTrackerData*,Int_t)");
    
    fColorSlider->Connect("DataRangeWasChanged(Double_t*)",
                          "AliMUONPainterMatrixFrame",
                         this,
                         "DataRangeWasChanged(Double_t*)");

    fColorSlider->Connect("DataRangeAutoRequested()",
                          "AliMUONPainterMatrixFrame",
                         this,
                         "DataRangeAutoRequested()");
    
    // Set the colors (mainly for debugging frame layout)

    AliMUONPainterInterfaceHelper::SetBackgroundColor("MatrixFrame.Main",*this);
    
    fMainFrame->HideFrame(fColorSlider);
    
    fMainFrame->Resize();
}

//_____________________________________________________________________________
AliMUONPainterMatrixFrame::~AliMUONPainterMatrixFrame()
{
  /// dtor
  delete fPainterHighlighter;
  AliError("Please write a decent dtor for this class !");
}

//_____________________________________________________________________________
void
AliMUONPainterMatrixFrame::ChangeTitle(const TString& title)
{
  /// Change title
  
  TitleHasChanged(title.Data());
}

//_____________________________________________________________________________
void
AliMUONPainterMatrixFrame::ChangeTitle(AliMUONVPainter* painter, 
                                       const char* basename,
                                       Double_t x, Double_t y)
{
  /// Change the title according to painter
  
  TString name;
  
  if (painter) 
  {

    if ( basename ) name = basename;
    else name = painter->PathName();
    
    AliMUONVPainter* master = painter->Master();
    
    AliMUONPainterGroup* group = master->PlotterGroup();

    AliDebug(1,Form("Painter is %s plotterGroup is %p %s",
                    painter->PathName().Data(),
                    group,
                    ( group ? group->Type() : "")));
    
    
    if ( group && group->Data() ) 
    {
      name += "\n";
      name += painter->Describe(*(group->Data()),group->DataIndex(),x,y);
    }
  }
  else
  {
    name = fPainterMatrix->Name();
  }
  
  TitleHasChanged(name.Data());
}

//_____________________________________________________________________________
void
AliMUONPainterMatrixFrame::Clear(Option_t*)
{
  /// Clear the view(s)
  
  fPainterMatrix = 0x0;

  AliMUONPainterInterfaceHelper::ClearButtons(*fOutlineButtons);
  AliMUONPainterInterfaceHelper::ClearButtons(*fResponderButtons);
  
  fView->GetCanvas()->SetEditable(kTRUE);
  fView->GetCanvas()->Clear();
  fView->GetCanvas()->Modified();
  fView->GetCanvas()->Update();
  fView->GetCanvas()->SetEditable(kFALSE);

  Layout();  
}

//_____________________________________________________________________________
void 
AliMUONPainterMatrixFrame::CreateButtons()
{
  /// Create the interface buttons
  
  AliDebug(1,"");
  
//  AliMUONVPainter* painter = fPainterMatrix->Painter(0);
  
  /// create buttons    
  TObjArray types;
  
  fPainterMatrix->GetTypes(types);
  
  TIter nextType(&types);
  TObjString* str;
  
  while ( ( str = static_cast<TObjString*>(nextType()) ) )
  {
    AliMUONPainterInterfaceHelper::AddRadioButton(*fResponderButtons,str->String());
    AliMUONPainterInterfaceHelper::AddCheckButton(*fOutlineButtons,str->String());
  }
  
  fOutlineButtons->Connect("Clicked(Int_t)","AliMUONPainterMatrixFrame",
                        this,"OutlineButtonWasClicked(Int_t)");
  
  fResponderButtons->Connect("Clicked(Int_t)","AliMUONPainterMatrixFrame",
                             this,"ResponderButtonWasClicked(Int_t)");        
}

//_____________________________________________________________________________
void 
AliMUONPainterMatrixFrame::DataRangeAutoRequested()
{
  /// Get there when the "Auto" button below the color slider is clicked,
  /// to compute the data range actually painted.
  
  Double_t dataMin, dataMax;

  AliDebug(1,"");
  
  fPainterMatrix->ComputeDataRange();

  fPainterMatrix->GetDataRange(dataMin,dataMax);
  
  AliDebug(1,Form("dataMin,Max for SetRange=%e,%e",dataMin,dataMax));
  
  Bool_t emit(kTRUE);
  
  fColorSlider->SetRange(dataMin,dataMax,emit);
  
  Update();
}

//_____________________________________________________________________________
void 
AliMUONPainterMatrixFrame::DataRangeWasChanged(Double_t* range)
{
  /// Get there when the data range is changed
  
  AliDebug(1,Form("range=%e,%e",range[0],range[1]));

  fPainterMatrix->SetDataRange(range[0],range[1]);
  
  if ( !fColorSlider->IsLocked() )
  {
    Update();
  }
}

//_____________________________________________________________________________
void
AliMUONPainterMatrixFrame::DataSourceWasChanged(const char* type,
                                               AliMUONVTrackerData* data,
                                               Int_t indexInData)
{
  /// Update what to plot
 
  TString pattern(type);

  AliDebug(1,Form("type=%s data=%s index=%d",type,
                  (data ? data->GetName() : "null"),indexInData));
    
  AliMUONVTrackerData* d = data;
  
  if ( !d || !data || indexInData < 0 || pattern == "" )
  {
    pattern = "*";
    d = 0;
    indexInData = -1;
  }
  
  fPainterMatrix->SetData(pattern,d,indexInData);
    
  Update();
  
  ChangeTitle(fPainterMatrix->Painter(0));
}

//_____________________________________________________________________________
void
AliMUONPainterMatrixFrame::EventInfo(Int_t event, Int_t px ,Int_t py, TObject* object)
{
  /// Used to detect entering/leaving a given painter 
  
  if (!gPad || !object) return;
  
//  cout << "EventInfo : event " << event << " px " << px << " py " << py
//    << " object " << object << " " << object->GetName() << endl;
// 
  if ( event == 7 ) 
  {
    if ( object->InheritsFrom("AliMUONVPainter") )
    {
      AliMUONVPainter* p = static_cast<AliMUONVPainter*>(object);
      p->ExecuteEvent(7,px,py);
      return;
    }      
  }
  
  if ( event == kMouseLeave )
  {
    if ( object->InheritsFrom("AliMUONVPainter") )
    {
      AliMUONVPainter* p = static_cast<AliMUONVPainter*>(object);
      MouseLeave(p);
      fPainterHighlighter->SetPainter(0x0);
      gPad->Modified();
      gPad->Update();
    }
  }

  if ( event == kMouseEnter )
  {
    if ( object->InheritsFrom("AliMUONVPainter") )
    {
      AliMUONVPainter* painter = static_cast<AliMUONVPainter*>(object);
      if ( painter->IsResponder() && !painter->HandleMouseMotion() )
      {
        MouseEnter(static_cast<AliMUONVPainter*>(object));
        fPainterHighlighter->SetPainter(painter);
        gPad->Modified();
        gPad->Update();
      }
      else if ( !painter->HandleMouseMotion() )
      {
        MouseEnter(static_cast<AliMUONVPainter*>(object)); 
      }
    }
  }
  
   if ( event == kMouseMotion ) 
  {
    if ( object->InheritsFrom("AliMUONVPainter") )
    {
      AliMUONVPainter* painter = static_cast<AliMUONVPainter*>(object);

      if ( painter->HandleMouseMotion() && painter->IsResponder() )
      {
        Double_t pos[2];
        TVirtualPad* padsave = gPad;
        painter->Pad()->cd();
        painter->PixelToPad(px,py,pos[0],pos[1]);
        MouseMotion(static_cast<AliMUONVPainter*>(object),pos);
        fPainterHighlighter->SetPainter(painter,pos[0],pos[1]);
        gPad->Modified();
        gPad->Update();
        gPad = padsave;
      }
    }    
  }
}

//_____________________________________________________________________________
void
AliMUONPainterMatrixFrame::MouseEnter(AliMUONVPainter* painter)
{
  /// Emit a signal to notify that mouse pointer is entering a given painter

  AliDebug(1,Form("painter=%p %s",painter,painter->PathName().Data()));
  
  ChangeTitle(painter);

  Long_t params[] = { (Long_t)painter };
  
  Emit("MouseEnter(AliMUONVPainter*)",params);  
}


//_____________________________________________________________________________
void
AliMUONPainterMatrixFrame::MouseLeave(const AliMUONVPainter* painter)
{
  /// Emit a signal to notify that mouse pointer is leaving a given painter
  
  ChangeTitle(fPainterMatrix->Name());

  Long_t params[] = { (Long_t)painter };
  
  Emit("MouseLeave(AliMUONVPainter*)",params);
}

//_____________________________________________________________________________
void
AliMUONPainterMatrixFrame::MouseMotion(AliMUONVPainter* painter, Double_t* position)
{
  /// Emit a signal to notify that mouse pointer is moving within a given painter
  
  ChangeTitle(painter,painter->NameAtPosition(position[0],position[1]),
              position[0],position[1]);
  
  Long_t params[] = { (Long_t)painter, (Long_t)position };
  
  Emit("MouseMotion(AliMUONVPainter*,Double_t*)",params);
}


//_____________________________________________________________________________
void
AliMUONPainterMatrixFrame::ResponderButtonWasClicked(Int_t id)
{
  /// One responder button was clicked
  
  TGTextButton* button = static_cast<TGTextButton*>(fResponderButtons->GetButton(id));
  TString pattern = button->GetString();
  
//  AliInfo(Form("id=%d button=%d %s",id,button->IsOn(),pattern.Data()));

  assert(button->IsOn()==1);
  
  fPainterMatrix->SetResponder(pattern.Data());
}

//_____________________________________________________________________________
void
AliMUONPainterMatrixFrame::OutlineButtonWasClicked(Int_t id)
{
  /// One outline button was clicked
  
  TGTextButton* button = static_cast<TGTextButton*>(fOutlineButtons->GetButton(id));
  TString pattern = button->GetString();
  
  fPainterMatrix->SetOutlined(pattern.Data(),button->IsOn());
  
  ViewModified();
  fView->GetCanvas()->Update();
    
  // Update the interface (e.g. list of possible responders can have 
  // changed due to visibility change)
  UpdateInterface(kFALSE);
}

//_____________________________________________________________________________
void 
AliMUONPainterMatrixFrame::SaveAs(const char* filename, Option_t* option) const
{
  /// Save painter matrix (in the sense of "print") in filename
  
  TCanvas* d = fPainterMatrix->CreateCanvas();
  
  d->SaveAs(filename,option);
  
  delete d;
}

//_____________________________________________________________________________
void
AliMUONPainterMatrixFrame::TitleHasChanged(const char* title)
{
  /// Emit the TitleHasChanged signal
  
  Long_t params[] = { (Long_t)title };
  Emit("TitleHasChanged(const char*)",params);
}


//_____________________________________________________________________________
void
AliMUONPainterMatrixFrame::Update()
{
  /// Force update of all canvases

  UpdateDataRange();
  
  fView->GetCanvas()->SetEditable(kTRUE);
  
  Bool_t colorSlider = ( fPainterMatrix->Data() != 0x0 );
  
  ViewModified();

  fView->GetCanvas()->SetEditable(kFALSE);
  
  AliDebug(1,Form("colorSlider=%d",colorSlider));
  
  if ( colorSlider )
  {
    fMainFrame->ShowFrame(fColorSlider);
  }
  else
  {
    fMainFrame->HideFrame(fColorSlider);
  }
  
  fMainFrame->Layout();
  Layout();
}

//_____________________________________________________________________________
void
AliMUONPainterMatrixFrame::UpdateDataRange()
{
  /// Update the data range

  if ( fColorSlider->IsLocked() ) 
  {
    fColorSlider->SetRange(0,0,kTRUE);
    return;
  }
  
  Double_t min, max;

  fPainterMatrix->GetDataRange(min,max);

  AliDebug(1,Form("min %e max %e",min,max));

  if ( min > max ) 
  {
    fPainterMatrix->ComputeDataRange();
    fPainterMatrix->GetDataRange(min,max);
  }

  fColorSlider->SetRange(min,max,kFALSE);
}

//_____________________________________________________________________________
void 
AliMUONPainterMatrixFrame::UpdateInterface(Bool_t fromScratch)
{
  /// Update the full interface
  
  if ( fromScratch || fOutlineButtons->GetCount() == 0 ) 
  {
    CreateButtons();
  }
  
  AliMUONPainterInterfaceHelper::Unselect(*fResponderButtons,"*");
  AliMUONPainterInterfaceHelper::Unselect(*fOutlineButtons,"*");
  
  AliMUONVPainter* painter = fPainterMatrix->Painter(0);
  
  TObjArray types;
  types.SetOwner(kTRUE);
  
  fPainterMatrix->GetTypes(types);
  
  // update button states
  TIter next(&types);
  TObjString* otype;
  
  TString theResponder;
  
  while ( ( otype = static_cast<TObjString*>(next()) ) )
  {    
    AliMUONPainterGroup* group = painter->Group(otype->String());
    
    if ( group && group->IsOutlined() ) 
    {
      AliMUONPainterInterfaceHelper::Select(*fOutlineButtons,otype->String().Data());
    }    
  }
  
  if ( painter ) 
  {
    AliMUONPainterGroup* responderGroup = painter->ResponderGroup();
  
    if (responderGroup)
    {
      AliMUONPainterInterfaceHelper::Select(*fResponderButtons,responderGroup->Type());
    }
  }
  
  // update data source view
  
  fPlotSelector->Update(*fPainterMatrix);
    
  fResponderButtons->Show();
  fOutlineButtons->Show();

  Layout();
}

//_____________________________________________________________________________
void 
AliMUONPainterMatrixFrame::Use(AliMUONPainterMatrix* group)
{
  /// Change the matrix used
  
  Clear();
  
  fPainterMatrix = group;
  
  fView->GetCanvas()->SetEditable(kTRUE);
  
  fView->GetCanvas()->Divide(fPainterMatrix->Nx(),fPainterMatrix->Ny());
  
  for ( Int_t i = 0; i < fPainterMatrix->Size(); ++i ) 
  {
    AliMUONVPainter* painter = fPainterMatrix->Painter(i);
    fView->GetCanvas()->cd(i+1);
    painter->Draw("R");
    fPainterHighlighter->SetPainter(0x0);
    fPainterHighlighter->Draw();
  }  

  Update();
  
  UpdateInterface(kTRUE);
  
  ChangeTitle(fPainterMatrix->Name());
  
  fView->GetCanvas()->Connect("ProcessedEvent(Int_t,Int_t,Int_t,TObject*)",
                              "AliMUONPainterMatrixFrame",this, 
                              "EventInfo(Int_t,Int_t,Int_t,TObject*)"); 
  
}

//_____________________________________________________________________________
void 
AliMUONPainterMatrixFrame::ViewModified()
{
  /// Update our canvas
  
  for ( Int_t i = 0; i < fPainterMatrix->Size(); ++i ) 
  {
    fView->GetCanvas()->GetPad(i+1)->Modified();
  }
  fView->GetCanvas()->Modified();
  fView->GetCanvas()->Update();
}


 AliMUONPainterMatrixFrame.cxx:1
 AliMUONPainterMatrixFrame.cxx:2
 AliMUONPainterMatrixFrame.cxx:3
 AliMUONPainterMatrixFrame.cxx:4
 AliMUONPainterMatrixFrame.cxx:5
 AliMUONPainterMatrixFrame.cxx:6
 AliMUONPainterMatrixFrame.cxx:7
 AliMUONPainterMatrixFrame.cxx:8
 AliMUONPainterMatrixFrame.cxx:9
 AliMUONPainterMatrixFrame.cxx:10
 AliMUONPainterMatrixFrame.cxx:11
 AliMUONPainterMatrixFrame.cxx:12
 AliMUONPainterMatrixFrame.cxx:13
 AliMUONPainterMatrixFrame.cxx:14
 AliMUONPainterMatrixFrame.cxx:15
 AliMUONPainterMatrixFrame.cxx:16
 AliMUONPainterMatrixFrame.cxx:17
 AliMUONPainterMatrixFrame.cxx:18
 AliMUONPainterMatrixFrame.cxx:19
 AliMUONPainterMatrixFrame.cxx:20
 AliMUONPainterMatrixFrame.cxx:21
 AliMUONPainterMatrixFrame.cxx:22
 AliMUONPainterMatrixFrame.cxx:23
 AliMUONPainterMatrixFrame.cxx:24
 AliMUONPainterMatrixFrame.cxx:25
 AliMUONPainterMatrixFrame.cxx:26
 AliMUONPainterMatrixFrame.cxx:27
 AliMUONPainterMatrixFrame.cxx:28
 AliMUONPainterMatrixFrame.cxx:29
 AliMUONPainterMatrixFrame.cxx:30
 AliMUONPainterMatrixFrame.cxx:31
 AliMUONPainterMatrixFrame.cxx:32
 AliMUONPainterMatrixFrame.cxx:33
 AliMUONPainterMatrixFrame.cxx:34
 AliMUONPainterMatrixFrame.cxx:35
 AliMUONPainterMatrixFrame.cxx:36
 AliMUONPainterMatrixFrame.cxx:37
 AliMUONPainterMatrixFrame.cxx:38
 AliMUONPainterMatrixFrame.cxx:39
 AliMUONPainterMatrixFrame.cxx:40
 AliMUONPainterMatrixFrame.cxx:41
 AliMUONPainterMatrixFrame.cxx:42
 AliMUONPainterMatrixFrame.cxx:43
 AliMUONPainterMatrixFrame.cxx:44
 AliMUONPainterMatrixFrame.cxx:45
 AliMUONPainterMatrixFrame.cxx:46
 AliMUONPainterMatrixFrame.cxx:47
 AliMUONPainterMatrixFrame.cxx:48
 AliMUONPainterMatrixFrame.cxx:49
 AliMUONPainterMatrixFrame.cxx:50
 AliMUONPainterMatrixFrame.cxx:51
 AliMUONPainterMatrixFrame.cxx:52
 AliMUONPainterMatrixFrame.cxx:53
 AliMUONPainterMatrixFrame.cxx:54
 AliMUONPainterMatrixFrame.cxx:55
 AliMUONPainterMatrixFrame.cxx:56
 AliMUONPainterMatrixFrame.cxx:57
 AliMUONPainterMatrixFrame.cxx:58
 AliMUONPainterMatrixFrame.cxx:59
 AliMUONPainterMatrixFrame.cxx:60
 AliMUONPainterMatrixFrame.cxx:61
 AliMUONPainterMatrixFrame.cxx:62
 AliMUONPainterMatrixFrame.cxx:63
 AliMUONPainterMatrixFrame.cxx:64
 AliMUONPainterMatrixFrame.cxx:65
 AliMUONPainterMatrixFrame.cxx:66
 AliMUONPainterMatrixFrame.cxx:67
 AliMUONPainterMatrixFrame.cxx:68
 AliMUONPainterMatrixFrame.cxx:69
 AliMUONPainterMatrixFrame.cxx:70
 AliMUONPainterMatrixFrame.cxx:71
 AliMUONPainterMatrixFrame.cxx:72
 AliMUONPainterMatrixFrame.cxx:73
 AliMUONPainterMatrixFrame.cxx:74
 AliMUONPainterMatrixFrame.cxx:75
 AliMUONPainterMatrixFrame.cxx:76
 AliMUONPainterMatrixFrame.cxx:77
 AliMUONPainterMatrixFrame.cxx:78
 AliMUONPainterMatrixFrame.cxx:79
 AliMUONPainterMatrixFrame.cxx:80
 AliMUONPainterMatrixFrame.cxx:81
 AliMUONPainterMatrixFrame.cxx:82
 AliMUONPainterMatrixFrame.cxx:83
 AliMUONPainterMatrixFrame.cxx:84
 AliMUONPainterMatrixFrame.cxx:85
 AliMUONPainterMatrixFrame.cxx:86
 AliMUONPainterMatrixFrame.cxx:87
 AliMUONPainterMatrixFrame.cxx:88
 AliMUONPainterMatrixFrame.cxx:89
 AliMUONPainterMatrixFrame.cxx:90
 AliMUONPainterMatrixFrame.cxx:91
 AliMUONPainterMatrixFrame.cxx:92
 AliMUONPainterMatrixFrame.cxx:93
 AliMUONPainterMatrixFrame.cxx:94
 AliMUONPainterMatrixFrame.cxx:95
 AliMUONPainterMatrixFrame.cxx:96
 AliMUONPainterMatrixFrame.cxx:97
 AliMUONPainterMatrixFrame.cxx:98
 AliMUONPainterMatrixFrame.cxx:99
 AliMUONPainterMatrixFrame.cxx:100
 AliMUONPainterMatrixFrame.cxx:101
 AliMUONPainterMatrixFrame.cxx:102
 AliMUONPainterMatrixFrame.cxx:103
 AliMUONPainterMatrixFrame.cxx:104
 AliMUONPainterMatrixFrame.cxx:105
 AliMUONPainterMatrixFrame.cxx:106
 AliMUONPainterMatrixFrame.cxx:107
 AliMUONPainterMatrixFrame.cxx:108
 AliMUONPainterMatrixFrame.cxx:109
 AliMUONPainterMatrixFrame.cxx:110
 AliMUONPainterMatrixFrame.cxx:111
 AliMUONPainterMatrixFrame.cxx:112
 AliMUONPainterMatrixFrame.cxx:113
 AliMUONPainterMatrixFrame.cxx:114
 AliMUONPainterMatrixFrame.cxx:115
 AliMUONPainterMatrixFrame.cxx:116
 AliMUONPainterMatrixFrame.cxx:117
 AliMUONPainterMatrixFrame.cxx:118
 AliMUONPainterMatrixFrame.cxx:119
 AliMUONPainterMatrixFrame.cxx:120
 AliMUONPainterMatrixFrame.cxx:121
 AliMUONPainterMatrixFrame.cxx:122
 AliMUONPainterMatrixFrame.cxx:123
 AliMUONPainterMatrixFrame.cxx:124
 AliMUONPainterMatrixFrame.cxx:125
 AliMUONPainterMatrixFrame.cxx:126
 AliMUONPainterMatrixFrame.cxx:127
 AliMUONPainterMatrixFrame.cxx:128
 AliMUONPainterMatrixFrame.cxx:129
 AliMUONPainterMatrixFrame.cxx:130
 AliMUONPainterMatrixFrame.cxx:131
 AliMUONPainterMatrixFrame.cxx:132
 AliMUONPainterMatrixFrame.cxx:133
 AliMUONPainterMatrixFrame.cxx:134
 AliMUONPainterMatrixFrame.cxx:135
 AliMUONPainterMatrixFrame.cxx:136
 AliMUONPainterMatrixFrame.cxx:137
 AliMUONPainterMatrixFrame.cxx:138
 AliMUONPainterMatrixFrame.cxx:139
 AliMUONPainterMatrixFrame.cxx:140
 AliMUONPainterMatrixFrame.cxx:141
 AliMUONPainterMatrixFrame.cxx:142
 AliMUONPainterMatrixFrame.cxx:143
 AliMUONPainterMatrixFrame.cxx:144
 AliMUONPainterMatrixFrame.cxx:145
 AliMUONPainterMatrixFrame.cxx:146
 AliMUONPainterMatrixFrame.cxx:147
 AliMUONPainterMatrixFrame.cxx:148
 AliMUONPainterMatrixFrame.cxx:149
 AliMUONPainterMatrixFrame.cxx:150
 AliMUONPainterMatrixFrame.cxx:151
 AliMUONPainterMatrixFrame.cxx:152
 AliMUONPainterMatrixFrame.cxx:153
 AliMUONPainterMatrixFrame.cxx:154
 AliMUONPainterMatrixFrame.cxx:155
 AliMUONPainterMatrixFrame.cxx:156
 AliMUONPainterMatrixFrame.cxx:157
 AliMUONPainterMatrixFrame.cxx:158
 AliMUONPainterMatrixFrame.cxx:159
 AliMUONPainterMatrixFrame.cxx:160
 AliMUONPainterMatrixFrame.cxx:161
 AliMUONPainterMatrixFrame.cxx:162
 AliMUONPainterMatrixFrame.cxx:163
 AliMUONPainterMatrixFrame.cxx:164
 AliMUONPainterMatrixFrame.cxx:165
 AliMUONPainterMatrixFrame.cxx:166
 AliMUONPainterMatrixFrame.cxx:167
 AliMUONPainterMatrixFrame.cxx:168
 AliMUONPainterMatrixFrame.cxx:169
 AliMUONPainterMatrixFrame.cxx:170
 AliMUONPainterMatrixFrame.cxx:171
 AliMUONPainterMatrixFrame.cxx:172
 AliMUONPainterMatrixFrame.cxx:173
 AliMUONPainterMatrixFrame.cxx:174
 AliMUONPainterMatrixFrame.cxx:175
 AliMUONPainterMatrixFrame.cxx:176
 AliMUONPainterMatrixFrame.cxx:177
 AliMUONPainterMatrixFrame.cxx:178
 AliMUONPainterMatrixFrame.cxx:179
 AliMUONPainterMatrixFrame.cxx:180
 AliMUONPainterMatrixFrame.cxx:181
 AliMUONPainterMatrixFrame.cxx:182
 AliMUONPainterMatrixFrame.cxx:183
 AliMUONPainterMatrixFrame.cxx:184
 AliMUONPainterMatrixFrame.cxx:185
 AliMUONPainterMatrixFrame.cxx:186
 AliMUONPainterMatrixFrame.cxx:187
 AliMUONPainterMatrixFrame.cxx:188
 AliMUONPainterMatrixFrame.cxx:189
 AliMUONPainterMatrixFrame.cxx:190
 AliMUONPainterMatrixFrame.cxx:191
 AliMUONPainterMatrixFrame.cxx:192
 AliMUONPainterMatrixFrame.cxx:193
 AliMUONPainterMatrixFrame.cxx:194
 AliMUONPainterMatrixFrame.cxx:195
 AliMUONPainterMatrixFrame.cxx:196
 AliMUONPainterMatrixFrame.cxx:197
 AliMUONPainterMatrixFrame.cxx:198
 AliMUONPainterMatrixFrame.cxx:199
 AliMUONPainterMatrixFrame.cxx:200
 AliMUONPainterMatrixFrame.cxx:201
 AliMUONPainterMatrixFrame.cxx:202
 AliMUONPainterMatrixFrame.cxx:203
 AliMUONPainterMatrixFrame.cxx:204
 AliMUONPainterMatrixFrame.cxx:205
 AliMUONPainterMatrixFrame.cxx:206
 AliMUONPainterMatrixFrame.cxx:207
 AliMUONPainterMatrixFrame.cxx:208
 AliMUONPainterMatrixFrame.cxx:209
 AliMUONPainterMatrixFrame.cxx:210
 AliMUONPainterMatrixFrame.cxx:211
 AliMUONPainterMatrixFrame.cxx:212
 AliMUONPainterMatrixFrame.cxx:213
 AliMUONPainterMatrixFrame.cxx:214
 AliMUONPainterMatrixFrame.cxx:215
 AliMUONPainterMatrixFrame.cxx:216
 AliMUONPainterMatrixFrame.cxx:217
 AliMUONPainterMatrixFrame.cxx:218
 AliMUONPainterMatrixFrame.cxx:219
 AliMUONPainterMatrixFrame.cxx:220
 AliMUONPainterMatrixFrame.cxx:221
 AliMUONPainterMatrixFrame.cxx:222
 AliMUONPainterMatrixFrame.cxx:223
 AliMUONPainterMatrixFrame.cxx:224
 AliMUONPainterMatrixFrame.cxx:225
 AliMUONPainterMatrixFrame.cxx:226
 AliMUONPainterMatrixFrame.cxx:227
 AliMUONPainterMatrixFrame.cxx:228
 AliMUONPainterMatrixFrame.cxx:229
 AliMUONPainterMatrixFrame.cxx:230
 AliMUONPainterMatrixFrame.cxx:231
 AliMUONPainterMatrixFrame.cxx:232
 AliMUONPainterMatrixFrame.cxx:233
 AliMUONPainterMatrixFrame.cxx:234
 AliMUONPainterMatrixFrame.cxx:235
 AliMUONPainterMatrixFrame.cxx:236
 AliMUONPainterMatrixFrame.cxx:237
 AliMUONPainterMatrixFrame.cxx:238
 AliMUONPainterMatrixFrame.cxx:239
 AliMUONPainterMatrixFrame.cxx:240
 AliMUONPainterMatrixFrame.cxx:241
 AliMUONPainterMatrixFrame.cxx:242
 AliMUONPainterMatrixFrame.cxx:243
 AliMUONPainterMatrixFrame.cxx:244
 AliMUONPainterMatrixFrame.cxx:245
 AliMUONPainterMatrixFrame.cxx:246
 AliMUONPainterMatrixFrame.cxx:247
 AliMUONPainterMatrixFrame.cxx:248
 AliMUONPainterMatrixFrame.cxx:249
 AliMUONPainterMatrixFrame.cxx:250
 AliMUONPainterMatrixFrame.cxx:251
 AliMUONPainterMatrixFrame.cxx:252
 AliMUONPainterMatrixFrame.cxx:253
 AliMUONPainterMatrixFrame.cxx:254
 AliMUONPainterMatrixFrame.cxx:255
 AliMUONPainterMatrixFrame.cxx:256
 AliMUONPainterMatrixFrame.cxx:257
 AliMUONPainterMatrixFrame.cxx:258
 AliMUONPainterMatrixFrame.cxx:259
 AliMUONPainterMatrixFrame.cxx:260
 AliMUONPainterMatrixFrame.cxx:261
 AliMUONPainterMatrixFrame.cxx:262
 AliMUONPainterMatrixFrame.cxx:263
 AliMUONPainterMatrixFrame.cxx:264
 AliMUONPainterMatrixFrame.cxx:265
 AliMUONPainterMatrixFrame.cxx:266
 AliMUONPainterMatrixFrame.cxx:267
 AliMUONPainterMatrixFrame.cxx:268
 AliMUONPainterMatrixFrame.cxx:269
 AliMUONPainterMatrixFrame.cxx:270
 AliMUONPainterMatrixFrame.cxx:271
 AliMUONPainterMatrixFrame.cxx:272
 AliMUONPainterMatrixFrame.cxx:273
 AliMUONPainterMatrixFrame.cxx:274
 AliMUONPainterMatrixFrame.cxx:275
 AliMUONPainterMatrixFrame.cxx:276
 AliMUONPainterMatrixFrame.cxx:277
 AliMUONPainterMatrixFrame.cxx:278
 AliMUONPainterMatrixFrame.cxx:279
 AliMUONPainterMatrixFrame.cxx:280
 AliMUONPainterMatrixFrame.cxx:281
 AliMUONPainterMatrixFrame.cxx:282
 AliMUONPainterMatrixFrame.cxx:283
 AliMUONPainterMatrixFrame.cxx:284
 AliMUONPainterMatrixFrame.cxx:285
 AliMUONPainterMatrixFrame.cxx:286
 AliMUONPainterMatrixFrame.cxx:287
 AliMUONPainterMatrixFrame.cxx:288
 AliMUONPainterMatrixFrame.cxx:289
 AliMUONPainterMatrixFrame.cxx:290
 AliMUONPainterMatrixFrame.cxx:291
 AliMUONPainterMatrixFrame.cxx:292
 AliMUONPainterMatrixFrame.cxx:293
 AliMUONPainterMatrixFrame.cxx:294
 AliMUONPainterMatrixFrame.cxx:295
 AliMUONPainterMatrixFrame.cxx:296
 AliMUONPainterMatrixFrame.cxx:297
 AliMUONPainterMatrixFrame.cxx:298
 AliMUONPainterMatrixFrame.cxx:299
 AliMUONPainterMatrixFrame.cxx:300
 AliMUONPainterMatrixFrame.cxx:301
 AliMUONPainterMatrixFrame.cxx:302
 AliMUONPainterMatrixFrame.cxx:303
 AliMUONPainterMatrixFrame.cxx:304
 AliMUONPainterMatrixFrame.cxx:305
 AliMUONPainterMatrixFrame.cxx:306
 AliMUONPainterMatrixFrame.cxx:307
 AliMUONPainterMatrixFrame.cxx:308
 AliMUONPainterMatrixFrame.cxx:309
 AliMUONPainterMatrixFrame.cxx:310
 AliMUONPainterMatrixFrame.cxx:311
 AliMUONPainterMatrixFrame.cxx:312
 AliMUONPainterMatrixFrame.cxx:313
 AliMUONPainterMatrixFrame.cxx:314
 AliMUONPainterMatrixFrame.cxx:315
 AliMUONPainterMatrixFrame.cxx:316
 AliMUONPainterMatrixFrame.cxx:317
 AliMUONPainterMatrixFrame.cxx:318
 AliMUONPainterMatrixFrame.cxx:319
 AliMUONPainterMatrixFrame.cxx:320
 AliMUONPainterMatrixFrame.cxx:321
 AliMUONPainterMatrixFrame.cxx:322
 AliMUONPainterMatrixFrame.cxx:323
 AliMUONPainterMatrixFrame.cxx:324
 AliMUONPainterMatrixFrame.cxx:325
 AliMUONPainterMatrixFrame.cxx:326
 AliMUONPainterMatrixFrame.cxx:327
 AliMUONPainterMatrixFrame.cxx:328
 AliMUONPainterMatrixFrame.cxx:329
 AliMUONPainterMatrixFrame.cxx:330
 AliMUONPainterMatrixFrame.cxx:331
 AliMUONPainterMatrixFrame.cxx:332
 AliMUONPainterMatrixFrame.cxx:333
 AliMUONPainterMatrixFrame.cxx:334
 AliMUONPainterMatrixFrame.cxx:335
 AliMUONPainterMatrixFrame.cxx:336
 AliMUONPainterMatrixFrame.cxx:337
 AliMUONPainterMatrixFrame.cxx:338
 AliMUONPainterMatrixFrame.cxx:339
 AliMUONPainterMatrixFrame.cxx:340
 AliMUONPainterMatrixFrame.cxx:341
 AliMUONPainterMatrixFrame.cxx:342
 AliMUONPainterMatrixFrame.cxx:343
 AliMUONPainterMatrixFrame.cxx:344
 AliMUONPainterMatrixFrame.cxx:345
 AliMUONPainterMatrixFrame.cxx:346
 AliMUONPainterMatrixFrame.cxx:347
 AliMUONPainterMatrixFrame.cxx:348
 AliMUONPainterMatrixFrame.cxx:349
 AliMUONPainterMatrixFrame.cxx:350
 AliMUONPainterMatrixFrame.cxx:351
 AliMUONPainterMatrixFrame.cxx:352
 AliMUONPainterMatrixFrame.cxx:353
 AliMUONPainterMatrixFrame.cxx:354
 AliMUONPainterMatrixFrame.cxx:355
 AliMUONPainterMatrixFrame.cxx:356
 AliMUONPainterMatrixFrame.cxx:357
 AliMUONPainterMatrixFrame.cxx:358
 AliMUONPainterMatrixFrame.cxx:359
 AliMUONPainterMatrixFrame.cxx:360
 AliMUONPainterMatrixFrame.cxx:361
 AliMUONPainterMatrixFrame.cxx:362
 AliMUONPainterMatrixFrame.cxx:363
 AliMUONPainterMatrixFrame.cxx:364
 AliMUONPainterMatrixFrame.cxx:365
 AliMUONPainterMatrixFrame.cxx:366
 AliMUONPainterMatrixFrame.cxx:367
 AliMUONPainterMatrixFrame.cxx:368
 AliMUONPainterMatrixFrame.cxx:369
 AliMUONPainterMatrixFrame.cxx:370
 AliMUONPainterMatrixFrame.cxx:371
 AliMUONPainterMatrixFrame.cxx:372
 AliMUONPainterMatrixFrame.cxx:373
 AliMUONPainterMatrixFrame.cxx:374
 AliMUONPainterMatrixFrame.cxx:375
 AliMUONPainterMatrixFrame.cxx:376
 AliMUONPainterMatrixFrame.cxx:377
 AliMUONPainterMatrixFrame.cxx:378
 AliMUONPainterMatrixFrame.cxx:379
 AliMUONPainterMatrixFrame.cxx:380
 AliMUONPainterMatrixFrame.cxx:381
 AliMUONPainterMatrixFrame.cxx:382
 AliMUONPainterMatrixFrame.cxx:383
 AliMUONPainterMatrixFrame.cxx:384
 AliMUONPainterMatrixFrame.cxx:385
 AliMUONPainterMatrixFrame.cxx:386
 AliMUONPainterMatrixFrame.cxx:387
 AliMUONPainterMatrixFrame.cxx:388
 AliMUONPainterMatrixFrame.cxx:389
 AliMUONPainterMatrixFrame.cxx:390
 AliMUONPainterMatrixFrame.cxx:391
 AliMUONPainterMatrixFrame.cxx:392
 AliMUONPainterMatrixFrame.cxx:393
 AliMUONPainterMatrixFrame.cxx:394
 AliMUONPainterMatrixFrame.cxx:395
 AliMUONPainterMatrixFrame.cxx:396
 AliMUONPainterMatrixFrame.cxx:397
 AliMUONPainterMatrixFrame.cxx:398
 AliMUONPainterMatrixFrame.cxx:399
 AliMUONPainterMatrixFrame.cxx:400
 AliMUONPainterMatrixFrame.cxx:401
 AliMUONPainterMatrixFrame.cxx:402
 AliMUONPainterMatrixFrame.cxx:403
 AliMUONPainterMatrixFrame.cxx:404
 AliMUONPainterMatrixFrame.cxx:405
 AliMUONPainterMatrixFrame.cxx:406
 AliMUONPainterMatrixFrame.cxx:407
 AliMUONPainterMatrixFrame.cxx:408
 AliMUONPainterMatrixFrame.cxx:409
 AliMUONPainterMatrixFrame.cxx:410
 AliMUONPainterMatrixFrame.cxx:411
 AliMUONPainterMatrixFrame.cxx:412
 AliMUONPainterMatrixFrame.cxx:413
 AliMUONPainterMatrixFrame.cxx:414
 AliMUONPainterMatrixFrame.cxx:415
 AliMUONPainterMatrixFrame.cxx:416
 AliMUONPainterMatrixFrame.cxx:417
 AliMUONPainterMatrixFrame.cxx:418
 AliMUONPainterMatrixFrame.cxx:419
 AliMUONPainterMatrixFrame.cxx:420
 AliMUONPainterMatrixFrame.cxx:421
 AliMUONPainterMatrixFrame.cxx:422
 AliMUONPainterMatrixFrame.cxx:423
 AliMUONPainterMatrixFrame.cxx:424
 AliMUONPainterMatrixFrame.cxx:425
 AliMUONPainterMatrixFrame.cxx:426
 AliMUONPainterMatrixFrame.cxx:427
 AliMUONPainterMatrixFrame.cxx:428
 AliMUONPainterMatrixFrame.cxx:429
 AliMUONPainterMatrixFrame.cxx:430
 AliMUONPainterMatrixFrame.cxx:431
 AliMUONPainterMatrixFrame.cxx:432
 AliMUONPainterMatrixFrame.cxx:433
 AliMUONPainterMatrixFrame.cxx:434
 AliMUONPainterMatrixFrame.cxx:435
 AliMUONPainterMatrixFrame.cxx:436
 AliMUONPainterMatrixFrame.cxx:437
 AliMUONPainterMatrixFrame.cxx:438
 AliMUONPainterMatrixFrame.cxx:439
 AliMUONPainterMatrixFrame.cxx:440
 AliMUONPainterMatrixFrame.cxx:441
 AliMUONPainterMatrixFrame.cxx:442
 AliMUONPainterMatrixFrame.cxx:443
 AliMUONPainterMatrixFrame.cxx:444
 AliMUONPainterMatrixFrame.cxx:445
 AliMUONPainterMatrixFrame.cxx:446
 AliMUONPainterMatrixFrame.cxx:447
 AliMUONPainterMatrixFrame.cxx:448
 AliMUONPainterMatrixFrame.cxx:449
 AliMUONPainterMatrixFrame.cxx:450
 AliMUONPainterMatrixFrame.cxx:451
 AliMUONPainterMatrixFrame.cxx:452
 AliMUONPainterMatrixFrame.cxx:453
 AliMUONPainterMatrixFrame.cxx:454
 AliMUONPainterMatrixFrame.cxx:455
 AliMUONPainterMatrixFrame.cxx:456
 AliMUONPainterMatrixFrame.cxx:457
 AliMUONPainterMatrixFrame.cxx:458
 AliMUONPainterMatrixFrame.cxx:459
 AliMUONPainterMatrixFrame.cxx:460
 AliMUONPainterMatrixFrame.cxx:461
 AliMUONPainterMatrixFrame.cxx:462
 AliMUONPainterMatrixFrame.cxx:463
 AliMUONPainterMatrixFrame.cxx:464
 AliMUONPainterMatrixFrame.cxx:465
 AliMUONPainterMatrixFrame.cxx:466
 AliMUONPainterMatrixFrame.cxx:467
 AliMUONPainterMatrixFrame.cxx:468
 AliMUONPainterMatrixFrame.cxx:469
 AliMUONPainterMatrixFrame.cxx:470
 AliMUONPainterMatrixFrame.cxx:471
 AliMUONPainterMatrixFrame.cxx:472
 AliMUONPainterMatrixFrame.cxx:473
 AliMUONPainterMatrixFrame.cxx:474
 AliMUONPainterMatrixFrame.cxx:475
 AliMUONPainterMatrixFrame.cxx:476
 AliMUONPainterMatrixFrame.cxx:477
 AliMUONPainterMatrixFrame.cxx:478
 AliMUONPainterMatrixFrame.cxx:479
 AliMUONPainterMatrixFrame.cxx:480
 AliMUONPainterMatrixFrame.cxx:481
 AliMUONPainterMatrixFrame.cxx:482
 AliMUONPainterMatrixFrame.cxx:483
 AliMUONPainterMatrixFrame.cxx:484
 AliMUONPainterMatrixFrame.cxx:485
 AliMUONPainterMatrixFrame.cxx:486
 AliMUONPainterMatrixFrame.cxx:487
 AliMUONPainterMatrixFrame.cxx:488
 AliMUONPainterMatrixFrame.cxx:489
 AliMUONPainterMatrixFrame.cxx:490
 AliMUONPainterMatrixFrame.cxx:491
 AliMUONPainterMatrixFrame.cxx:492
 AliMUONPainterMatrixFrame.cxx:493
 AliMUONPainterMatrixFrame.cxx:494
 AliMUONPainterMatrixFrame.cxx:495
 AliMUONPainterMatrixFrame.cxx:496
 AliMUONPainterMatrixFrame.cxx:497
 AliMUONPainterMatrixFrame.cxx:498
 AliMUONPainterMatrixFrame.cxx:499
 AliMUONPainterMatrixFrame.cxx:500
 AliMUONPainterMatrixFrame.cxx:501
 AliMUONPainterMatrixFrame.cxx:502
 AliMUONPainterMatrixFrame.cxx:503
 AliMUONPainterMatrixFrame.cxx:504
 AliMUONPainterMatrixFrame.cxx:505
 AliMUONPainterMatrixFrame.cxx:506
 AliMUONPainterMatrixFrame.cxx:507
 AliMUONPainterMatrixFrame.cxx:508
 AliMUONPainterMatrixFrame.cxx:509
 AliMUONPainterMatrixFrame.cxx:510
 AliMUONPainterMatrixFrame.cxx:511
 AliMUONPainterMatrixFrame.cxx:512
 AliMUONPainterMatrixFrame.cxx:513
 AliMUONPainterMatrixFrame.cxx:514
 AliMUONPainterMatrixFrame.cxx:515
 AliMUONPainterMatrixFrame.cxx:516
 AliMUONPainterMatrixFrame.cxx:517
 AliMUONPainterMatrixFrame.cxx:518
 AliMUONPainterMatrixFrame.cxx:519
 AliMUONPainterMatrixFrame.cxx:520
 AliMUONPainterMatrixFrame.cxx:521
 AliMUONPainterMatrixFrame.cxx:522
 AliMUONPainterMatrixFrame.cxx:523
 AliMUONPainterMatrixFrame.cxx:524
 AliMUONPainterMatrixFrame.cxx:525
 AliMUONPainterMatrixFrame.cxx:526
 AliMUONPainterMatrixFrame.cxx:527
 AliMUONPainterMatrixFrame.cxx:528
 AliMUONPainterMatrixFrame.cxx:529
 AliMUONPainterMatrixFrame.cxx:530
 AliMUONPainterMatrixFrame.cxx:531
 AliMUONPainterMatrixFrame.cxx:532
 AliMUONPainterMatrixFrame.cxx:533
 AliMUONPainterMatrixFrame.cxx:534
 AliMUONPainterMatrixFrame.cxx:535
 AliMUONPainterMatrixFrame.cxx:536
 AliMUONPainterMatrixFrame.cxx:537
 AliMUONPainterMatrixFrame.cxx:538
 AliMUONPainterMatrixFrame.cxx:539
 AliMUONPainterMatrixFrame.cxx:540
 AliMUONPainterMatrixFrame.cxx:541
 AliMUONPainterMatrixFrame.cxx:542
 AliMUONPainterMatrixFrame.cxx:543
 AliMUONPainterMatrixFrame.cxx:544
 AliMUONPainterMatrixFrame.cxx:545
 AliMUONPainterMatrixFrame.cxx:546
 AliMUONPainterMatrixFrame.cxx:547
 AliMUONPainterMatrixFrame.cxx:548
 AliMUONPainterMatrixFrame.cxx:549
 AliMUONPainterMatrixFrame.cxx:550
 AliMUONPainterMatrixFrame.cxx:551
 AliMUONPainterMatrixFrame.cxx:552
 AliMUONPainterMatrixFrame.cxx:553
 AliMUONPainterMatrixFrame.cxx:554
 AliMUONPainterMatrixFrame.cxx:555
 AliMUONPainterMatrixFrame.cxx:556
 AliMUONPainterMatrixFrame.cxx:557
 AliMUONPainterMatrixFrame.cxx:558
 AliMUONPainterMatrixFrame.cxx:559
 AliMUONPainterMatrixFrame.cxx:560
 AliMUONPainterMatrixFrame.cxx:561
 AliMUONPainterMatrixFrame.cxx:562
 AliMUONPainterMatrixFrame.cxx:563
 AliMUONPainterMatrixFrame.cxx:564
 AliMUONPainterMatrixFrame.cxx:565
 AliMUONPainterMatrixFrame.cxx:566
 AliMUONPainterMatrixFrame.cxx:567
 AliMUONPainterMatrixFrame.cxx:568
 AliMUONPainterMatrixFrame.cxx:569
 AliMUONPainterMatrixFrame.cxx:570
 AliMUONPainterMatrixFrame.cxx:571
 AliMUONPainterMatrixFrame.cxx:572
 AliMUONPainterMatrixFrame.cxx:573
 AliMUONPainterMatrixFrame.cxx:574
 AliMUONPainterMatrixFrame.cxx:575
 AliMUONPainterMatrixFrame.cxx:576
 AliMUONPainterMatrixFrame.cxx:577
 AliMUONPainterMatrixFrame.cxx:578
 AliMUONPainterMatrixFrame.cxx:579
 AliMUONPainterMatrixFrame.cxx:580
 AliMUONPainterMatrixFrame.cxx:581
 AliMUONPainterMatrixFrame.cxx:582
 AliMUONPainterMatrixFrame.cxx:583
 AliMUONPainterMatrixFrame.cxx:584
 AliMUONPainterMatrixFrame.cxx:585
 AliMUONPainterMatrixFrame.cxx:586
 AliMUONPainterMatrixFrame.cxx:587
 AliMUONPainterMatrixFrame.cxx:588
 AliMUONPainterMatrixFrame.cxx:589
 AliMUONPainterMatrixFrame.cxx:590
 AliMUONPainterMatrixFrame.cxx:591
 AliMUONPainterMatrixFrame.cxx:592
 AliMUONPainterMatrixFrame.cxx:593
 AliMUONPainterMatrixFrame.cxx:594
 AliMUONPainterMatrixFrame.cxx:595
 AliMUONPainterMatrixFrame.cxx:596
 AliMUONPainterMatrixFrame.cxx:597
 AliMUONPainterMatrixFrame.cxx:598
 AliMUONPainterMatrixFrame.cxx:599
 AliMUONPainterMatrixFrame.cxx:600
 AliMUONPainterMatrixFrame.cxx:601
 AliMUONPainterMatrixFrame.cxx:602
 AliMUONPainterMatrixFrame.cxx:603
 AliMUONPainterMatrixFrame.cxx:604
 AliMUONPainterMatrixFrame.cxx:605
 AliMUONPainterMatrixFrame.cxx:606
 AliMUONPainterMatrixFrame.cxx:607
 AliMUONPainterMatrixFrame.cxx:608
 AliMUONPainterMatrixFrame.cxx:609
 AliMUONPainterMatrixFrame.cxx:610
 AliMUONPainterMatrixFrame.cxx:611
 AliMUONPainterMatrixFrame.cxx:612
 AliMUONPainterMatrixFrame.cxx:613
 AliMUONPainterMatrixFrame.cxx:614
 AliMUONPainterMatrixFrame.cxx:615
 AliMUONPainterMatrixFrame.cxx:616
 AliMUONPainterMatrixFrame.cxx:617
 AliMUONPainterMatrixFrame.cxx:618
 AliMUONPainterMatrixFrame.cxx:619
 AliMUONPainterMatrixFrame.cxx:620
 AliMUONPainterMatrixFrame.cxx:621
 AliMUONPainterMatrixFrame.cxx:622
 AliMUONPainterMatrixFrame.cxx:623
 AliMUONPainterMatrixFrame.cxx:624
 AliMUONPainterMatrixFrame.cxx:625
 AliMUONPainterMatrixFrame.cxx:626
 AliMUONPainterMatrixFrame.cxx:627
 AliMUONPainterMatrixFrame.cxx:628
 AliMUONPainterMatrixFrame.cxx:629
 AliMUONPainterMatrixFrame.cxx:630
 AliMUONPainterMatrixFrame.cxx:631
 AliMUONPainterMatrixFrame.cxx:632
 AliMUONPainterMatrixFrame.cxx:633
 AliMUONPainterMatrixFrame.cxx:634
 AliMUONPainterMatrixFrame.cxx:635
 AliMUONPainterMatrixFrame.cxx:636
 AliMUONPainterMatrixFrame.cxx:637
 AliMUONPainterMatrixFrame.cxx:638
 AliMUONPainterMatrixFrame.cxx:639
 AliMUONPainterMatrixFrame.cxx:640
 AliMUONPainterMatrixFrame.cxx:641
 AliMUONPainterMatrixFrame.cxx:642
 AliMUONPainterMatrixFrame.cxx:643
 AliMUONPainterMatrixFrame.cxx:644
 AliMUONPainterMatrixFrame.cxx:645
 AliMUONPainterMatrixFrame.cxx:646
 AliMUONPainterMatrixFrame.cxx:647
 AliMUONPainterMatrixFrame.cxx:648
 AliMUONPainterMatrixFrame.cxx:649
 AliMUONPainterMatrixFrame.cxx:650
 AliMUONPainterMatrixFrame.cxx:651
 AliMUONPainterMatrixFrame.cxx:652
 AliMUONPainterMatrixFrame.cxx:653
 AliMUONPainterMatrixFrame.cxx:654
 AliMUONPainterMatrixFrame.cxx:655
 AliMUONPainterMatrixFrame.cxx:656
 AliMUONPainterMatrixFrame.cxx:657
 AliMUONPainterMatrixFrame.cxx:658
 AliMUONPainterMatrixFrame.cxx:659
 AliMUONPainterMatrixFrame.cxx:660
 AliMUONPainterMatrixFrame.cxx:661
 AliMUONPainterMatrixFrame.cxx:662