00001
00017 #ifndef GFXSTRIP_H
00018 #define GFXSTRIP_H
00019
00020
00021 #ifndef __CINT__
00022 #include "GfxStripListCfg.h"
00023 #endif
00024
00025 #include <TObject.h>
00026
00027 class CandStripHandle;
00028 class GfxStripList;
00029
00030 class GfxStrip : public TObject
00031 {
00032
00033 public:
00034
00035 GfxStrip(const CandStripHandle& csh, GfxStripList& parent);
00036 GfxStrip(const GfxStrip& rhs);
00037 GfxStrip& operator=(const GfxStrip& rhs);
00038 virtual ~GfxStrip();
00039 void Clear(Option_t* ="");
00040
00041 void Configure();
00042
00043 void ExecuteEvent(int event, int px, int py);
00044 void Paint(Option_t* option="");
00045 int DistancetoPrimitive(int px, int py);
00046
00047 const CandStripHandle& GetStrip() { return *fStrip; }
00048
00049 void ConfigGui();
00050 Int_t GetColor(){return fColor;}
00051
00052 private:
00053
00054
00055
00056 #ifndef __CINT__
00057 bool GetRealCoords(double& x1, double& y1, double& x2, double& y2);
00058 bool GetDiscreteCoords(double& x1, double& y1, double& x2, double& y2);
00059 float GetRelativeValue(GfxStripListCfg::MeasureScale_t ms);
00060 void ModifyCoords(double& cx, double& cy, double& dx, double& dy);
00061 bool SetColor();
00062 void RelToAbs(double& dx, double& dy);
00063
00064 const CandStripHandle *fStrip;
00065 GfxStripList *fParent;
00066 TObject* fImp;
00067 Int_t fColor;
00068 #endif
00069
00070 double fCx, fCy, fDx, fDy;
00071 ClassDef(GfxStrip,0)
00072 };
00073
00074 #endif // GFXSTRIP_H