00001 /* -*- mode: c++; -*- */ 00002 00014 #ifndef _ProfileProjector_H_ 00015 #define _ProfileProjector_H_ 00016 00017 #include "BinningProjector.h" 00018 #include "NTupleProjector.h" 00019 00033 class MDL_HIPPOPLOT_API ProfileProjector : public BinningProjector, 00034 public NTupleProjector 00035 { 00036 00037 protected: 00038 00040 ProfileProjector ( const ProfileProjector & projector ); 00041 00042 virtual void execute(); 00043 00047 virtual void changedNTuple(); 00048 00050 virtual void addPointReps (); 00051 00052 public: 00053 00055 ProfileProjector(); 00056 00058 ~ProfileProjector(); 00059 00062 ProjectorBase * clone(); 00063 00064 virtual Range valueRange () const; 00065 00068 virtual Range dataRangeOn ( hippodraw::Axes::Type ) const; 00069 00072 virtual double getPosOn ( hippodraw::Axes::Type axis ) const; 00073 00074 virtual bool isAxisBinned ( const std::string & axis ) const; 00075 00076 virtual void setRange ( hippodraw::Axes::Type axis, bool const_width ); 00077 00083 virtual void setBinnerRange ( hippodraw::Axes::Type axis, 00084 const Range & range, 00085 bool const_width ); 00086 00092 virtual void update ( const Observable * object ); 00093 00099 virtual void willDelete ( const Observable * object ); 00100 00101 }; 00102 00103 #endif // _ProfileProjector_H_