00001
00002
00014 #ifndef _StHist2DProjector_H_
00015 #define _StHist2DProjector_H_
00016
00017 #include "projectors/Hist2DProjImp.h"
00018
00019 namespace hippodraw {
00020
00029 class MDL_HIPPOPLOT_API StHist2DProjector : public Hist2DProjImp
00030 {
00031
00032 private:
00033
00035 std::string m_title;
00036
00039 std::string m_x_label;
00040
00043 std::string m_y_label;
00044
00048 std::string m_z_label;
00049
00050 public:
00051
00053 StHist2DProjector();
00054
00056 StHist2DProjector( const StHist2DProjector & projector );
00057
00060 ProjectorBase * clone();
00061
00065 bool isEmpty () const;
00066
00073 virtual Range dataRangeOn ( hippodraw::Axes::Type axis ) const;
00074
00077 virtual double getPosOn ( hippodraw::Axes::Type axis ) const;
00078
00081 virtual bool isAxisBinned ( const std::string & axis ) const;
00082
00085 const std::string & getXLabel () const;
00086
00090 const std::string & getYLabel ( bool flag = false ) const;
00091
00095 const std::string & getZLabel ( bool flag = false ) const;
00096
00098 void setYLabel ();
00099
00101 virtual double getAverage ( hippodraw::Axes::Type axis ) const;
00102
00103
00104 virtual const std::string & getTitle() const;
00105 virtual int getNumberOfEntries () const;
00106 virtual int getUnderflow () const;
00107 virtual int getOverflow () const;
00108
00114 virtual void addValues ( const std::vector < double > & v );
00115
00122 virtual void setBinnerRange ( hippodraw::Axes::Type axis,
00123 const Range & range,
00124 bool const_width );
00125
00126 };
00127
00128 }
00129
00130 #endif // _StHist2DProjector_H_