00001 /* -*- mode: c++ -*- */ 00002 00014 #ifndef _StHist1DProjector_H_ 00015 #define _StHist1DProjector_H_ 00016 00017 #include "projectors/Hist1DProjImp.h" 00018 00027 class MDL_HIPPOPLOT_API StHist1DProjector : public Hist1DProjImp 00028 { 00029 00030 private: 00031 00033 std::string m_title; 00034 00036 std::string m_x_label; 00037 00039 std::string m_y_label; 00040 00041 public: 00042 00044 StHist1DProjector(); 00045 00047 StHist1DProjector( const StHist1DProjector & projector ); 00048 00051 ProjectorBase * clone(); 00052 00056 bool isEmpty () const; 00057 00064 virtual Range dataRangeOn ( hippodraw::Axes::Type axis ) const; 00065 00068 virtual double getPosOn ( hippodraw::Axes::Type axis ) const; 00069 00072 virtual bool isAxisBinned ( const std::string & axis ) const; 00073 00076 const std::string & getXLabel () const; 00077 00081 const std::string & getYLabel ( bool flag = false ) const; 00082 00084 void setYLabel (); 00085 00087 virtual double getAverage ( hippodraw::Axes::Type axis ) const; 00088 00089 /* The following need to be implemented. */ 00090 virtual const std::string & getTitle() const; 00091 virtual int getNumberOfEntries () const; 00092 00098 virtual void addValues ( const std::vector < double > & v ); 00099 00106 virtual void setBinnerRange ( hippodraw::Axes::Type axis, 00107 const Range & range, 00108 bool const_width ); 00109 00113 virtual void reset (); 00114 00115 }; 00116 00117 #endif // _StHist1DProjector_H_