// $Id: EFocalSurface3DPainter.hh,v 1.4 2005/11/02 02:02:31 thea Exp $ // Author: Alessandro Thea 2005/07/13 /***************************************************************************** * ESAF: Euso Simulation and Analysis Framework * * * * Id: EFocalSurface3DPainter * * Package: * * Coordinator: * * * *****************************************************************************/ #ifndef __EFOCALSURFACE3DPAINTER_HH__ #define __EFOCALSURFACE3DPAINTER_HH__ #include #include #include class EEvent; class EDetector; class ERunParameters; class TAxis3D; class TGaxis; //////////////////////////////////////////////////////////////////////////////// // // // EFocalSurface3DPainter // // // // // // // //////////////////////////////////////////////////////////////////////////////// class EFocalSurface3DPainter : public TObject { public: EFocalSurface3DPainter(); EFocalSurface3DPainter( EEvent* ); EFocalSurface3DPainter( EDetector*, ERunParameters* ); virtual ~EFocalSurface3DPainter(); virtual void Load( EEvent* ); virtual void Load( EDetector*, ERunParameters* ); virtual void Clear( Option_t* ="" ); virtual void Paint( Option_t* ="" ); virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); virtual void Draw( Option_t* ="" ); virtual Double_t GetAlpha() const { return fAlpha; }; virtual Style_t GetMarkerStyle() const { return fMarkerStyle; } virtual Float_t GetMaxMarkerSize() const { return fMaxMarkerSize;} virtual Color_t GetMinMarkerColor() const { return fMinMarkerColor;} virtual Float_t GetMinMarkerSize() const { return fMinMarkerSize;} virtual Int_t GetNumMarkerColors() const { return fNumMarkerColors;} virtual Color_t GetBackgroundColor() const { return fBackgroundColor; } virtual Int_t GetDrawCode() const { return fDrawCode; } virtual void SetAlpha( Double_t alpha ) { fAlpha = alpha; Modified(); } // *MENU* virtual void SetBackgroundColor( Color_t color ) { fBackgroundColor = color; } virtual void SetMarkerStyle(Style_t mstyle ) { fMarkerStyle = mstyle;} // *MENU* virtual void SetMinMarkerColor( Color_t color ) { fMinMarkerColor = color; Modified();}// *MENU* virtual void SetMaxMarkerSize( Float_t max ) { fMaxMarkerSize = max; Modified();}// *MENU* virtual void SetMinMarkerSize( Float_t min ) { fMinMarkerSize = min; Modified();}// *MENU* virtual void SetNumMarkerColors( Int_t n ) { fNumMarkerColors = n; Modified();}// *MENU* virtual void SetDrawCode( Int_t code ) { fDrawCode = code; Modified();}// *MENU* virtual Bool_t IsModified() { return fModified; } virtual void Modified( Bool_t mod = kTRUE) { fModified = mod; } virtual void Update(); private: enum { kCodeHits = 0, kCodeSigs = 1 }; void Constructor(); EDetector *fDetector; ERunParameters *fRunPars; Double_t fAlpha; Double_t fMeanThres; Style_t fMarkerStyle; Float_t fMaxMarkerSize; Float_t fMinMarkerSize; Color_t fMinMarkerColor; Int_t fNumMarkerColors; Color_t fBackgroundColor; TLatex* fLabel; TGaxis* fAxis; Int_t fDrawCode; TObjArray* fHits; Int_t fNumMarkers; TObjArray* fSignals; Int_t fNumSignals; TObjArray* fPixels; Int_t fNumPixels; TAxis3D* fAxis3D; Double_t fXmin; Double_t fXmax; Double_t fYmin; Double_t fYmax; Double_t fTmin; Double_t fTmax; Int_t fCmin; Int_t fCmax; Bool_t fModified; ClassDef(EFocalSurface3DPainter,1) }; #endif /* __EFOCALSURFACE3DPAINTER_HH__ */