X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONVPainter.h;h=fe16b5feabbadfcc9830c29c347cb1970e1d4bfe;hb=aac12889d2f7cbe5d36372d115785acebdeaeb1e;hp=d9b0aecc98a229e68fa90e31594d48485edcadef;hpb=b89ac3d6105be7362f1376fdc34df2802a5c5e86;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONVPainter.h b/MUON/AliMUONVPainter.h index d9b0aecc98a..fe16b5feabb 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,36 +257,51 @@ 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; + 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