+
+}
+
+//_____________________________________________________________________________
+void
+AliMUONVPainter::Include()
+{
+ /// Include this painter
+ AliInfo(GetName());
+
+ /// Update the global interactive read out configuration
+ WriteIROC(1);
+}
+
+//_____________________________________________________________________________
+void
+AliMUONVPainter::GetIROCManuList(TObjArray& manuList)
+{
+ /// Get the list of manus spanned by this painter AND by its dual
+
+ FillManuList(manuList);
+
+ // get our dual
+ AliMUONAttPainter att(Attributes());
+
+ att.Invert();
+
+ att.SetCathodeAndPlaneDisabled(kTRUE);
+
+ AliMUONVPainter* p = AliMUONVPainter::CreatePainter(ClassName(),att,ID0(),ID1());
+
+ if (p)
+ {
+ p->FillManuList(manuList);
+ }
+
+ delete p;
+}
+
+//_____________________________________________________________________________
+void
+AliMUONVPainter::WriteIROC(Double_t value)
+{
+ /// Update the interactive readout configuration
+
+ TObjArray manuList;
+ GetIROCManuList(manuList);
+
+ AliMpManuUID* muid;
+ TIter nextm(&manuList);
+ AliMUON2DMap store(true);
+
+ while ((muid=static_cast<AliMpManuUID*>(nextm())))
+ {
+ AliMUONVCalibParam* param = new AliMUONCalibParamND(1,64,
+ muid->DetElemId(),
+ muid->ManuId(),value);
+ store.Add(param);
+ }
+
+ InteractiveReadOutConfig()->Replace(store);
+}
+
+//_____________________________________________________________________________
+void
+AliMUONVPainter::Exclude()
+{
+ /// Exclude this painter
+ AliInfo(GetName());
+
+ /// Update the global interactive read out configuration
+ WriteIROC(0.0);
+}
+
+//_____________________________________________________________________________
+AliMUONVTrackerData*
+AliMUONVPainter::InteractiveReadOutConfig() const
+{
+ /// get the interactive readout config object
+ return AliMUONPainterRegistry::Instance()->InteractiveReadOutConfig();