BinnerAxisLog.h

Go to the documentation of this file.
00001 /* -*- mode: c++; -*- */
00002 
00014 #ifndef _BinnerAxisLog_H_
00015 #define _BinnerAxisLog_H_
00016 
00017 #include "BinnerAxis.h"
00018 
00019 #include <vector>
00020 
00021 namespace hippodraw {
00022 
00032 class MDL_HIPPOPLOT_API BinnerAxisLog : public BinnerAxis
00033 {
00034 private: // data members
00035 
00037   BinnerAxisLog ( const BinnerAxisLog & binner );
00038   
00041   std::vector<double> bins;
00042 
00043   double calcWidthParm ( int number ) const;
00044 
00045 public: // member functions
00046 
00048   BinnerAxisLog ();
00049   
00051   virtual ~BinnerAxisLog();
00052 
00055   BinnerAxis * clone();
00056 
00059   virtual int axisBinNumber ( double x ) const;
00060 
00067   virtual double getCoordinate ( int i ) const;
00068 
00071   virtual double axisBinWidth ( int bins_number) const;
00072 
00074   virtual void axisSetNumberOfBins( int nb );
00075 
00077   virtual double getConstWid ( ) const;
00078 
00079   virtual double getBinWidth ( ) const;
00080 
00081 
00084   virtual double scaleFactorWid ( );
00085 
00088   virtual const Range & setBinWidth ( double width );
00089 
00090   virtual double calcOffset ( int parm, bool dragging ) const;
00091 
00093   virtual double getOffset () const;
00094 
00096   virtual const void setOffset ( double offset );
00097 
00098 
00099   virtual const Range & setRange ( const Range &,
00100                                    bool hold_width = true );
00101 
00102 private: // member functions
00103   
00104   virtual int getNob ( double wid ) const;
00105   virtual int getNob ( const Range & range ) const;
00106 
00109   void setBins();
00110 
00114   virtual void setConstWid ( );
00115 
00116 
00117 };
00118 
00119 } // namespace hippodraw
00120 
00121 #endif // _BinnerAxisLog_H_

Generated for HippoDraw Class Library by doxygen