00001 /* -*- mode: c++ -*- */ 00002 00014 #ifndef _DyHist1DProjector_H_ 00015 #define _DyHist1DProjector_H_ 00016 00017 #include "Hist1DProjImp.h" 00018 #include "NTupleProjector.h" 00019 00020 class Range; 00021 00036 class MDL_HIPPOPLOT_API DyHist1DProjector : public Hist1DProjImp, 00037 public NTupleProjector 00038 { 00039 00040 private: 00041 00044 bool m_fixed; 00045 00046 protected: 00047 00049 DyHist1DProjector ( const DyHist1DProjector & projector ); 00050 00053 virtual void execute(); 00054 00059 virtual void changedNTuple(); 00060 00061 public: 00062 00064 DyHist1DProjector(); 00065 00068 ProjectorBase * clone(); 00069 00074 virtual Range dataRangeOn ( hippodraw::Axes::Type axis ) const; 00075 00078 virtual double getPosOn ( hippodraw::Axes::Type axis ) const; 00079 00086 virtual const std::string & getYLabel ( bool density = false ) const; 00087 00089 virtual double getAverage ( hippodraw::Axes::Type axis ) const; 00090 00091 virtual bool isAxisBinned ( const std::string & axis ) const; 00092 00098 virtual void setBinnerRange ( hippodraw::Axes::Type axis, 00099 const Range & range, 00100 bool const_width ); 00101 00107 virtual void update ( const Observable * object ); 00108 00114 virtual void willDelete ( const Observable * object ); 00115 00116 }; 00117 00118 #endif // _DyHist1DProjector_H_