00001 /* -*- c++ -*- */ 00002 00014 #ifndef _Map1Projector_H_ 00015 #define _Map1Projector_H_ 00016 00017 #include "NTupleProjector.h" 00018 00031 class MDL_HIPPOPLOT_API Map1Projector : public NTupleProjector 00032 { 00033 00034 private: 00035 00038 std::string m_x_label; 00039 00042 std::string m_y_option; 00043 00044 00045 protected: 00046 00048 Map1Projector ( const Map1Projector & projector ); 00049 00055 virtual void changedNTuple(); 00056 00058 virtual void addPointReps (); 00059 00060 public: 00061 00062 00064 Map1Projector(); 00065 00067 ~Map1Projector(); 00068 00071 ProjectorBase * clone(); 00072 00073 virtual bool inRange ( int row ) const; 00074 00078 virtual void setYErrorOption ( bool enable ); 00079 00082 virtual Range dataRangeOn ( hippodraw::Axes::Type ) const; 00083 virtual Range valueRange ( ) const; 00084 00087 virtual double getPosOn ( hippodraw::Axes::Type axis ) const; 00088 00091 const std::string & getXLabel() const; 00092 00097 const std::string & getYLabel ( bool density = false ) const; 00098 00100 virtual double getAverage ( hippodraw::Axes::Type axis ) const; 00101 00102 virtual DataSource * createNTuple () const; 00103 00104 virtual void prepareValues (); 00105 00106 protected: 00107 00108 virtual void fillProjectedValues ( DataSource * ntuple, 00109 bool in_range = false ) const; 00110 virtual void fillDataSource ( DataSource * ntuple, 00111 bool in_range = false ) const; 00112 00113 }; 00114 00115 #endif // _Map1Projector_H_