00001 /* -*- mode: c++ -*- */ 00002 00014 #ifndef _DyHist2DProjector_H_ 00015 #define _DyHist2DProjector_H_ 00016 00017 #include "Hist2DProjImp.h" 00018 #include "NTupleProjector.h" 00019 00031 class MDL_HIPPOPLOT_API DyHist2DProjector : public Hist2DProjImp, 00032 public NTupleProjector 00033 { 00034 00035 private: 00036 00038 std::string m_z_label_entries; 00039 00041 std::string m_z_label_density; 00042 00044 mutable Range m_value_range; 00045 00046 protected: 00047 00049 DyHist2DProjector ( const DyHist2DProjector & projector ); 00050 00055 virtual void changedNTuple(); 00056 00057 public: 00058 00060 DyHist2DProjector(); 00061 00064 ProjectorBase * clone(); 00065 00068 void execute(); 00069 00072 virtual Range dataRangeOn ( hippodraw::Axes::Type ) const; 00073 00076 virtual double getPosOn ( hippodraw::Axes::Type axis ) const; 00077 00078 virtual void setBinWidth ( const std::string & axis, 00079 int parm, 00080 bool dragging ); 00081 virtual void setOffset ( const std::string & axis, 00082 int parm, 00083 bool dragging ); 00084 00087 virtual bool isAxisBinned ( const std::string & axis ) const; 00088 00094 virtual void setBinnerRange ( hippodraw::Axes::Type axis, 00095 const Range & range, 00096 bool const_width ); 00097 00103 virtual void update ( const Observable * object ); 00104 00110 virtual void willDelete ( const Observable * object ); 00111 00112 }; 00113 00114 #endif // _DyHist2DProjector_H_