#ifndef RICHSCENE_H #define RICHSCENE_H #include "VScene.h" class TClonesArray; enum RichItemsTypeEnum {kRichRing, kRichEllipse, kRichHit, kRichProj, kRichPoint}; enum RichRingTypeEnum {kRichElRing, kRichPiRing, kRichFakeRing, kRichCloneRing}; class VRichScene : public VScene { Q_OBJECT public: VRichScene(); virtual ~VRichScene(); virtual void DrawGeometry(); virtual void DrawEvent(); virtual void ProcessEvent(int ievent); virtual void ProcessCurEvent(); void ChangeLineWidth(double width); void ChangeHitSize(double width); void SetItemsVisible(RichItemsTypeEnum type, bool b); void SetItemsColor(RichItemsTypeEnum type, QColor c); bool GetItemsVisible(RichItemsTypeEnum type); QColor GetItemsColor(RichItemsTypeEnum type); void ChangeItemsVisibility(); void ChangeItemsColor(RichItemsTypeEnum type); void SetRingsVisible(RichRingTypeEnum type, bool b); void SetRingsColor(RichRingTypeEnum type, QColor c); bool GetRingsVisible(RichRingTypeEnum type); QColor GetRingsColor(RichRingTypeEnum type); void ChangeRingsColor(RichRingTypeEnum type); void ChangeRingsVisibility(); void SetLineWidth(double width){fLineWidth=width;} void SetHitSize(double size){fHitSize=size;} virtual void LoadData(); protected: virtual void ClearScene(); private: ///Methods void DrawRings(); void DrawEllipses(); void DrawHits(); void DrawRichRingItem(); void DrawProjections(); void DrawPoints(); ///Data TClonesArray* fRichHitsArray; TClonesArray* fRichRingsArray; TClonesArray* fRichProjArray; TClonesArray* fRichPointsArray; QGraphicsItemGroup* fHitsGroup; QGraphicsItemGroup* fRingsGroup; QGraphicsItemGroup* fEllipsesGroup; QGraphicsItemGroup* fRingItemsGroup; QGraphicsItemGroup* fProjGroup; QGraphicsItemGroup* fPointsGroup; bool fRingsVisible; bool fEllipsesVisible; bool fHitsVisible; bool fProjVisible; bool fPointsVisible; QColor fRingsColor; QColor fEllipsesColor; QColor fHitsColor; QColor fProjColor; QColor fPointsColor; /// bool fElRingsVisible; bool fPiRingsVisible; bool fFakeRingsVisible; bool fCloneRingsVisible; QColor fElRingsColor; QColor fPiRingsColor; QColor fFakeRingsColor; QColor fCloneRingsColor; double fLineWidth; double fHitSize; }; #endif