#include "AliMUONPainterGroup.h"
#include "AliMUONPainterInterfaceHelper.h"
#include "AliMUONPainterMatrix.h"
-#include "AliMUONPainterRegistry.h"
+#include "AliMUONPainterDataRegistry.h"
#include "AliMUONVPainter.h"
#include "AliMUONVTrackerData.h"
#include "AliLog.h"
fDataSourceNames = new TGButtonGroup(this,"Sources");
- AliMUONPainterRegistry* reg = AliMUONPainterRegistry::Instance();
+ AliMUONPainterDataRegistry* reg = AliMUONPainterDataRegistry::Instance();
reg->Connect("DataSourceWasRegistered(AliMUONVTrackerData*)",
"AliMUONPainterPlotSelector",
AliDebug(1,Form("Creating dimension buttons for dataSource %s",dataSourceName));
- AliMUONVTrackerData* data = AliMUONPainterRegistry::Instance()->DataSource(dataSourceName);
+ AliMUONVTrackerData* data = AliMUONPainterDataRegistry::Instance()->DataSource(dataSourceName);
TGButtonGroup* bg = new TGButtonGroup(this,0,3,5,0,dataSourceName);
( ( data && dataIndex >= 0 ) ? data->DimensionName(dataIndex).Data() :
"")));
+ UpdateTypeButton();
+
Long_t param[] = { (Long_t)type, (Long_t)data,
(Long_t)dataIndex };
TGButton* button = fDataSourceNames->GetButton(id);
if ( !button )
{
- AliError(Form("Could not get DataSource button id=%d",id));
StdoutToAliDebug(1,AliMUONPainterInterfaceHelper::Dump(*fDataSourceNames));
- button->GetUserData(); // to trigger a crash so gdb is possible ;-)
+ AliFatal(Form("Could not get DataSource button id=%d",id));
}
AliMUONVTrackerData* data = reinterpret_cast<AliMUONVTrackerData*>(button->GetUserData());
AliMUONPainterPlotSelector::UpdateTypeButton()
{
/// Update the type buttons
-
+
AliDebug(1,Form("fCurrentType=%s",fCurrentType.Data()));
+ if (!fCurrentData)
+ {
+ AliMUONPainterInterfaceHelper::SetState(*fTypes,kFALSE);
+ }
+ else
+ {
+ // disable levels that cannot be handled by this data
+ TGTextButton* padButton = static_cast<TGTextButton*>
+ (AliMUONPainterInterfaceHelper::FindButtonByName(*fTypes,"PAD"));
+ if (padButton)
+ {
+ padButton->SetEnabled(fCurrentData->IsChannelLevelEnabled());
+ }
+ TGTextButton* manuButton = static_cast<TGTextButton*>
+ (AliMUONPainterInterfaceHelper::FindButtonByName(*fTypes,"MANU"));
+ if (manuButton)
+ {
+ manuButton->SetEnabled(fCurrentData->IsManuLevelEnabled());
+ }
+ TGTextButton* busPatchButton = static_cast<TGTextButton*>
+ (AliMUONPainterInterfaceHelper::FindButtonByName(*fTypes,"BUSPATCH"));
+ if (busPatchButton)
+ {
+ busPatchButton->SetEnabled(fCurrentData->IsBusPatchLevelEnabled());
+ }
+ TGTextButton* pcbButton = static_cast<TGTextButton*>
+ (AliMUONPainterInterfaceHelper::FindButtonByName(*fTypes,"PCB"));
+ if (pcbButton)
+ {
+ pcbButton->SetEnabled(fCurrentData->IsPCBLevelEnabled());
+ }
+
+ }
+
TGTextButton* button = static_cast<TGTextButton*>
(AliMUONPainterInterfaceHelper::FindButtonByName(*fTypes,fCurrentType));
AliMUONPainterInterfaceHelper::Unselect(*fTypes,"*");
}
- if (!fCurrentData)
- {
- AliMUONPainterInterfaceHelper::SetState(*fTypes,kFALSE);
- }
-
+
fTypes->Show();
}