00001
00002
00014 #ifndef _Map1Projector_H_
00015 #define _Map1Projector_H_
00016
00017 #include "NTupleProjector.h"
00018
00019 namespace hippodraw {
00020
00033 class MDL_HIPPOPLOT_API Map1Projector : public NTupleProjector
00034 {
00035
00036 private:
00037
00040 std::string m_x_label;
00041
00044 std::string m_y_option;
00045
00046
00047 protected:
00048
00050 Map1Projector ( const Map1Projector & projector );
00051
00057 virtual void changedNTuple();
00058
00060 virtual void addPointReps ();
00061
00062 public:
00063
00064
00066 Map1Projector();
00067
00070 ProjectorBase * clone();
00071
00072 virtual bool inRange ( int row ) const;
00073
00077 virtual void setYErrorOption ( bool enable );
00078
00081 virtual Range dataRangeOn ( hippodraw::Axes::Type ) const;
00082 virtual Range valueRange ( ) const;
00083
00086 virtual double getPosOn ( hippodraw::Axes::Type axis ) const;
00087
00090 const std::string & getXLabel() const;
00091
00096 const std::string & getYLabel ( bool density = false ) const;
00097
00099 virtual double getAverage ( hippodraw::Axes::Type axis ) const;
00100
00101 virtual DataSource * createNTuple () const;
00102
00103 virtual void prepareValues ();
00104
00105
00106
00107 protected:
00108
00109 virtual void fillProjectedValues ( DataSource * ntuple,
00110 bool in_range = false ) const;
00111
00112 };
00113
00114 }
00115
00116 #endif // _Map1Projector_H_