#endif
#include <float.h>
-class AliMUONPainterContour;
+class AliMUONContour;
class AliMUONPainterGroup;
class AliMUONVTrackerData;
class AliMpArea;
{
public:
+ AliMUONVPainter(TRootIOCtor*);
AliMUONVPainter(const char* type="");
AliMUONVPainter(const AliMUONVPainter& rhs);
AliMUONVPainter& operator=(const AliMUONVPainter& rhs);
AliMUONVPainter* Detach() const;
+ /// Whether this painter can be detached from the current view.
virtual Bool_t CanBeDetached() const { return kTRUE; }
/// Whether we are valid or not
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
/// Return the contour representing the outline of this object
- AliMUONPainterContour* Contour() const { return fContour; }
+ AliMUONContour* Contour() const { return fContour; }
/// Get our name
virtual const char* GetName() const { return Name().Data(); }
AliMUONPainterGroup* ResponderGroup() const { return fResponderGroup; }
/// Set out contour
- void SetContour(AliMUONPainterContour* contour);
+ void SetContour(AliMUONContour* contour);
void SetData(const char* pattern, AliMUONVTrackerData* data, Int_t dataIndex);
void SetOutlined(const char* pattern, Bool_t flag);
- void SetResponder(const char* pattern);
+ virtual void SetResponder(const char* pattern);
- void SetResponder(Int_t depth);
+ virtual void SetResponder(Int_t depth);
void SetVisible(const char* pattern, Bool_t flag);
virtual void PaintOutline(Int_t color=-1, Int_t width=-1, Double_t x=FLT_MAX, Double_t y=FLT_MAX);
+ virtual void PaintArea(Int_t fillColor);
+
virtual void PaintArea(const AliMUONVTrackerData& data, Int_t dataIndex,
Double_t min, Double_t max);
/// To avoid getting a popup asking for the parameter in the GUI...
void DrawHistogram0() const { DrawHistogram(0x0); }
+ /// To avoid getting a popup asking for the parameter in the GUI...
void DrawHistogramClone0() const { DrawHistogramClone(0x0); }
virtual void DrawHistogramClone(Double_t* values=0x0) const;
/// Append (i.e. don't have the right to clear the array !) our list of manus to manuList
virtual void FillManuList(TObjArray& manuList) const;
- /// following kind of stupid lines, because I don't know how to
+ /// following kind of stupid lines (SL), because I don't know how to
/// pass parameters to TClassMenuItem for context menu (don't even
/// know if that's possible at all)
-
+ /// SL
void DrawInternalHistogramClone0() { DrawInternalHistogramClone(0); }
+ /// SL
void DrawInternalHistogramClone1() { DrawInternalHistogramClone(1); }
+ /// SL
void DrawInternalHistogramClone2() { DrawInternalHistogramClone(2); }
+ /// SL
void DrawInternalHistogramClone3() { DrawInternalHistogramClone(3); }
+ /// SL
void DrawInternalHistogramClone4() { DrawInternalHistogramClone(4); }
+ /// SL
void DrawInternalHistogramClone5() { DrawInternalHistogramClone(5); }
+ /// SL
void DrawInternalHistogramClone6() { DrawInternalHistogramClone(6); }
+ /// SL
void DrawInternalHistogramClone7() { DrawInternalHistogramClone(7); }
+ /// SL
void DrawInternalHistogramClone8() { DrawInternalHistogramClone(8); }
+ /// SL
void DrawInternalHistogramClone9() { DrawInternalHistogramClone(9); }
+ /// Whether or not the part of the detector represented by this painter should be included in readout.
+ virtual Bool_t IsIncluded() const = 0;
+
+ /// Whether or not the part of the detector represented by this painter should be excluded from readout.
+ Bool_t IsExcluded() const { return ! IsIncluded(); }
+
+ virtual void Include();
+
+ virtual void Exclude();
+
protected:
virtual TCollection* Children() const;
+ void CreateGroups();
+
+ AliMUONVTrackerData* InteractiveReadOutConfig() const;
+
+ mutable TH1* fHistogram; //!< histogram
+
+ TMap* fPainterGroups; ///< map of groups
+ AliMUONPainterGroup* fResponderGroup; ///< the responder group
+
private:
- void FlatList(TList& list);
+ void FlatList(TList& list);
AliMUONPainterGroup* CreateGroup(const char* type, Int_t depth);
- void CreateGroups();
-
void GetBoundingBox(Double_t& x1, Double_t& y1,
Double_t& x2, Double_t& y2) const;
AliMUONVPainter* GetPainter(Int_t px, Int_t py, Double_t& x, Double_t& y) const;
-private:
+ void WriteIROC(Double_t value);
+ void GetIROCManuList(TObjArray& manuList);
+
TString fName; ///< our (short) name
TString fPathName; ///< our long name
TString fType; ///< our type (DE, Chamber, MANU, etc...)
AliMUONVPainter* fMother; ///< our mother
AliMUONPainterGroup* fGroup; ///< our group
- AliMUONPainterContour* fContour; ///< our contour
- TMap* fPainterGroups; ///< map of groups
+ AliMUONContour* fContour; ///< our contour
TObjArray* fChildren; ///< our children
- AliMUONPainterGroup* fResponderGroup; ///< the responder group
AliMUONPainterGroup* fPlotterGroup; ///< the plotter group
Double_t fBorderFactor; ///< border factor for visu
TVirtualPad* fPad; ///< the pad we're drawn in
Int_t fID[2]; ///< our ids
Bool_t fIsValid; ///< whether we were properly initialized
-protected:
- mutable TH1* fHistogram; //!< histogram
-
ClassDef(AliMUONVPainter,3) // Base class of a graphical object for MUON spectrometer
};