00001
00002
00014 #ifndef _DyHist1DProjector_H_
00015 #define _DyHist1DProjector_H_
00016
00017 #include "Hist1DProjImp.h"
00018 #include "NTupleProjector.h"
00019
00020 namespace hippodraw {
00021
00022 class Range;
00023
00038 class MDL_HIPPOPLOT_API DyHist1DProjector : public Hist1DProjImp,
00039 public NTupleProjector
00040 {
00041
00042 private:
00043
00046 bool m_fixed;
00047
00048 protected:
00049
00052 DyHist1DProjector ( const DyHist1DProjector & projector );
00053
00056 virtual void execute();
00057
00062 virtual void changedNTuple();
00063
00064 public:
00065
00067 DyHist1DProjector();
00068
00071 virtual ProjectorBase * clone();
00072
00077 virtual Range dataRangeOn ( hippodraw::Axes::Type axis ) const;
00078
00081 virtual double getPosOn ( hippodraw::Axes::Type axis ) const;
00082
00089 virtual const std::string & getYLabel ( bool density = false ) const;
00090
00092 virtual double getAverage ( hippodraw::Axes::Type axis ) const;
00093
00094 virtual bool isAxisBinned ( const std::string & axis ) const;
00095
00101 virtual void setBinnerRange ( hippodraw::Axes::Type axis,
00102 const Range & range,
00103 bool const_width );
00104
00110 virtual void update ( const Observable * object );
00111
00117 virtual void willDelete ( const Observable * object );
00118
00120 virtual int getUnderflow () const;
00121
00123 virtual int getOverflow () const;
00124
00125
00126 };
00127
00128 }
00129
00130 #endif // _DyHist1DProjector_H_