00001
00002
00014 #ifndef _StHist1DProjector_H_
00015 #define _StHist1DProjector_H_
00016
00017 #include "projectors/Hist1DProjImp.h"
00018
00019 namespace hippodraw {
00020
00029 class MDL_HIPPOPLOT_API StHist1DProjector : public Hist1DProjImp
00030 {
00031
00032 private:
00033
00035 std::string m_title;
00036
00038 std::string m_x_label;
00039
00041 std::string m_y_label;
00042
00043 public:
00044
00046 StHist1DProjector();
00047
00049 StHist1DProjector( const StHist1DProjector & projector );
00050
00053 ProjectorBase * clone();
00054
00058 bool isEmpty () const;
00059
00066 virtual Range dataRangeOn ( hippodraw::Axes::Type axis ) const;
00067
00070 virtual double getPosOn ( hippodraw::Axes::Type axis ) const;
00071
00074 virtual bool isAxisBinned ( const std::string & axis ) const;
00075
00078 const std::string & getXLabel () const;
00079
00083 const std::string & getYLabel ( bool flag = false ) const;
00084
00086 void setYLabel ();
00087
00089 virtual double getAverage ( hippodraw::Axes::Type axis ) const;
00090
00091
00092 virtual const std::string & getTitle() const;
00093 virtual int getNumberOfEntries () const;
00094
00095
00096 virtual int getUnderflow () const;
00097
00098
00099 virtual int getOverflow () const;
00100
00106 virtual void addValues ( const std::vector < double > & v );
00107
00114 virtual void setBinnerRange ( hippodraw::Axes::Type axis,
00115 const Range & range,
00116 bool const_width );
00117
00121 virtual void reset ();
00122
00123 };
00124
00125 }
00126
00127 #endif // _StHist1DProjector_H_