00001 /* -*- mode: c++ -*- */ 00002 00014 #ifndef _Map2Projector_H_ 00015 #define _Map2Projector_H_ 00016 00017 #include "NTupleProjector.h" 00018 00019 class IteratorBase; 00020 00029 class MDL_HIPPOPLOT_API Map2Projector : public NTupleProjector 00030 { 00031 00033 std::string m_x_option; 00034 00036 std::string m_y_option; 00037 00038 protected: 00039 00041 Map2Projector ( const Map2Projector & projector ); 00042 00048 virtual void changedNTuple(); 00049 00051 virtual void addPointReps (); 00052 00053 public: 00054 00056 Map2Projector(); 00057 00059 ~Map2Projector(); 00060 00063 ProjectorBase * clone(); 00064 00068 virtual void setXErrorOption ( bool enable ); 00069 00072 virtual void setYErrorOption ( bool enable ); 00073 00076 virtual Range dataRangeOn ( hippodraw::Axes::Type ) const; 00077 virtual Range valueRange () const; 00078 00081 virtual double getPosOn ( hippodraw::Axes::Type axis ) const; 00082 00083 virtual DataSource * createNTuple () const; 00084 virtual void fillProjectedValues ( DataSource * ntuple, 00085 bool in_range = false ) const; 00086 virtual void fillDataSource ( DataSource * ntuple, 00087 bool in_range = false ) const; 00088 virtual void prepareValues (); 00089 00090 00091 }; 00092 00093 #endif // _Map2Projector_H_