00001
00002
00014 #ifndef _DyHist2DProjector_H_
00015 #define _DyHist2DProjector_H_
00016
00017 #include "Hist2DProjImp.h"
00018 #include "NTupleProjector.h"
00019
00020 namespace hippodraw {
00021
00033 class MDL_HIPPOPLOT_API DyHist2DProjector : public Hist2DProjImp,
00034 public NTupleProjector
00035 {
00036
00037 private:
00038
00040 std::string m_z_label_entries;
00041
00043 std::string m_z_label_density;
00044
00046 mutable Range m_value_range;
00047
00048 protected:
00049
00051 DyHist2DProjector ( const DyHist2DProjector & projector );
00052
00057 virtual void changedNTuple();
00058
00059 public:
00060
00062 DyHist2DProjector();
00063
00066 ProjectorBase * clone();
00067
00070 void execute();
00071
00074 virtual Range dataRangeOn ( hippodraw::Axes::Type ) const;
00075
00078 virtual double getPosOn ( hippodraw::Axes::Type axis ) const;
00079
00080 virtual const Range & setBinWidth ( hippodraw::Axes::Type axis,
00081 int parm,
00082 bool dragging );
00083
00084 virtual void setOffset ( const std::string & axis,
00085 int parm,
00086 bool dragging );
00087
00090 virtual bool isAxisBinned ( const std::string & axis ) const;
00091
00097 virtual void setBinnerRange ( hippodraw::Axes::Type axis,
00098 const Range & range,
00099 bool const_width );
00100
00106 virtual void update ( const Observable * object );
00107
00113 virtual void willDelete ( const Observable * object );
00114
00115 };
00116
00117 }
00118
00119 #endif // _DyHist2DProjector_H_