X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=MUON%2FAliMUONVPainter.h;h=bfb67cba61ae6788f3f7e464ccfdbd6f2a5454de;hp=33cd6991df34119d182d46cf68e24a37a8dbad14;hb=3e42c3a747530d8225c5935d0d15dc4074a3a424;hpb=99f1b9097ea1ccf3bab752f810d0313924710e3d diff --git a/MUON/AliMUONVPainter.h b/MUON/AliMUONVPainter.h index 33cd6991df3..bfb67cba61a 100644 --- a/MUON/AliMUONVPainter.h +++ b/MUON/AliMUONVPainter.h @@ -30,7 +30,7 @@ #endif #include -class AliMUONPainterContour; +class AliMUONContour; class AliMUONPainterGroup; class AliMUONVTrackerData; class AliMpArea; @@ -45,6 +45,7 @@ class AliMUONVPainter : public TObject, public TQObject { public: + AliMUONVPainter(TRootIOCtor*); AliMUONVPainter(const char* type=""); AliMUONVPainter(const AliMUONVPainter& rhs); AliMUONVPainter& operator=(const AliMUONVPainter& rhs); @@ -89,7 +90,7 @@ public: 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(); } @@ -137,7 +138,7 @@ public: 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); @@ -150,9 +151,9 @@ public: 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); @@ -171,6 +172,8 @@ public: 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); @@ -254,23 +257,44 @@ public: /// 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; + mutable TH1* fHistogram; //!< histogram + + AliMUONVTrackerData* InteractiveReadOutConfig() const; + private: void FlatList(TList& list); AliMUONPainterGroup* CreateGroup(const char* type, Int_t depth); +protected: void CreateGroups(); + +private: 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; + void WriteIROC(Double_t value); + + void GetIROCManuList(TObjArray& manuList); + private: TString fName; ///< our (short) name @@ -278,10 +302,14 @@ private: TString fType; ///< our type (DE, Chamber, MANU, etc...) AliMUONVPainter* fMother; ///< our mother AliMUONPainterGroup* fGroup; ///< our group - AliMUONPainterContour* fContour; ///< our contour + AliMUONContour* fContour; ///< our contour +protected: TMap* fPainterGroups; ///< map of groups +private: TObjArray* fChildren; ///< our children +protected: AliMUONPainterGroup* fResponderGroup; ///< the responder group +private: AliMUONPainterGroup* fPlotterGroup; ///< the plotter group Double_t fBorderFactor; ///< border factor for visu TVirtualPad* fPad; ///< the pad we're drawn in @@ -291,9 +319,6 @@ private: 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 };