Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Bins1DBase.h

Go to the documentation of this file.
00001 /* -*- mode: c++ -*- */
00002 
00014 #ifndef _Bins1DBase_H_
00015 #define _Bins1DBase_H_
00016 
00017 #include "BinsBase.h"
00018 
00019 #include "BinnerAxis.h"
00020 
00034 class MDL_HIPPOPLOT_API Bins1DBase : public BinsBase
00035 {
00036 private: 
00037 
00039   void resize ();
00040 
00041 protected:
00042   
00044   BinnerAxis * binner_axis;
00045 
00047   Bins1DBase ( const char * name );
00048 
00050   Bins1DBase ( const Bins1DBase & binner );
00051 
00052   virtual double getLow ( hippodraw::Axes::Type axis ) const;
00053 
00055   virtual void resize ( int number ) = 0;
00056 
00061   virtual NTuple * prepareNTuple ( unsigned int rows ) const;
00062 
00063 public:
00064 
00066   virtual ~Bins1DBase ();
00067 
00068   virtual int getNumberOfAxes () const;
00069 
00070   virtual int numberOfBins ( hippodraw::Axes::Type axis ) const;
00071 
00072   virtual bool hasEqualWidths () const;
00073 
00078   double binWidth ( int i ) const;
00079 
00080   virtual const BinnerAxis * getBinnerOn ( hippodraw::Axes::Type axis ) const;
00081 
00084   virtual void setBinnerOn ( BinnerAxis *, hippodraw::Axes::Type axis );
00085 
00087   double getHigh() const;
00088 
00089   virtual void setNumberOfBins ( hippodraw::Axes::Type axis, int num_bins );
00090 
00093   inline int binNumber(double x);
00094 
00095   virtual const Range & setBinWidth ( hippodraw::Axes::Type axis, 
00096                                       double value );
00097 
00099   double calcBinWidth ( const std::string & axis, 
00100                         int parm, 
00101                         bool dragging ) const;
00102 
00104   virtual double calcOffset ( const std::string &,
00105                              int parm,
00106                              bool dragging ) const;
00107 
00109   virtual double getOffset ( hippodraw::Axes::Type axis ) const;
00110 
00113   virtual void setOffset ( hippodraw::Axes::Type axis, double value );
00114 
00115   virtual const Range & setRange ( hippodraw::Axes::Type axis, 
00116                                    const Range &, 
00117                                    bool hold_width = true );
00118 
00120   virtual const Range & getRange ( hippodraw::Axes::Type axis );
00121 
00125   virtual double scaleFactor () const;
00126 
00127   
00128   virtual double binWidth ( hippodraw::Axes::Type axis ) const;
00129 
00134   virtual int getNumberOfEntries ( int i ) const  = 0;
00135   
00136 };
00137 
00138 inline
00139 int
00140 Bins1DBase::binNumber(double x)
00141 {
00142   return binner_axis->axisBinNumber(x);
00143 }
00144 
00145 
00146 #endif // _Bins1DBase_H_

Generated for HippoDraw-1.14.8.5 by doxygen 1.4.3