Profile2DProjector.h

Go to the documentation of this file.
00001 /* -*- mode: c++; -*- */
00002 
00014 #ifndef _Profile2DProjector_H_
00015 #define _Profile2DProjector_H_
00016 
00017 #include "BinningProjector.h"
00018 #include "NTupleProjector.h"
00019 
00020 #include "axes/Range.h"
00021 
00022 namespace hippodraw {
00023 
00037 class MDL_HIPPOPLOT_API Profile2DProjector : public BinningProjector,
00038                            public NTupleProjector
00039 {
00040 
00041 private:
00042 
00044   mutable Range m_value_range;
00045 
00046 protected:
00047 
00049   Profile2DProjector ( const Profile2DProjector & projector );
00050 
00055   virtual void changedNTuple();
00056 
00057  public:
00058 
00061   Profile2DProjector();
00062 
00065   ProjectorBase * clone();
00066 
00069   void execute();
00070 
00073   virtual Range valueRange() const;
00074 
00077   virtual Range dataRangeOn ( hippodraw::Axes::Type ) const;
00078 
00081   virtual double getPosOn ( hippodraw::Axes::Type axis ) const;
00082 
00084   virtual void addPointReps ();
00085 
00086  public:
00087 
00088   virtual void setRange ( hippodraw::Axes::Type axis, bool );
00089 
00098   virtual const Range &  setBinWidth ( hippodraw::Axes::Type axis, double v );
00099 
00100   virtual const Range &  setBinWidth ( hippodraw::Axes::Type axis,
00101                                        int parm, 
00102                                        bool dragging );
00103 
00104   virtual void setOffset ( const std::string & axis, 
00105                            int parm, 
00106                            bool dragging );
00107 
00108   virtual void setOffset ( hippodraw::Axes::Type axis, double v );
00109 
00112   virtual bool isAxisBinned ( const std::string & axis ) const;
00113 
00116   const std::string & getZLabel() const;
00117 
00123   virtual void setBinnerRange ( hippodraw::Axes::Type axis,
00124                                 const Range & range,
00125                                 bool const_width );
00126 
00132   virtual void update ( const Observable * object );
00133 
00139   virtual void willDelete ( const Observable * object );
00140 
00141 };
00142 
00143 } // namespace hippodraw
00144 
00145 #endif // _Profile2DProjector_H_

Generated for HippoDraw Class Library by doxygen