//**************************************************************************// //* FRIDA: fast reliable interactive data analysis *// //* (C) Joachim Wuttke 1990-, v2(C++) 2001- *// //* http://apps.jcns.fz-juelich.de/frida *// //**************************************************************************// //! \file axis.hpp //! \brief CAxis: One axis of a coordinate frame. //! One axis of a coordinate frame, for use in plotting. class CAxis { public: string name; //!< usually "x" or "y" double inf; //!< infimum: lower plot limit double sup; //!< supremum: upper plot limit bool logflag; //!< is logarithmic ? bool force; //!< force points into range ? CAxis( const string _name, bool _log ) : name(_name), logflag(_log), force(false) { setAuto(); } void setLog( bool _log ); void setAuto(); void setLimits( double _inf, double _sup ); void setRoundedLimits( double _inf, double _sup ); void ask_and_set( const string& quest ); string str() const; string info() const; bool finite() const; bool contains( double val ) const; bool close_enough( double v1, double v2, double tol ) const; double value2plotcoord( double v ) const; double value2ploterror( double v, double dv ) const; void set_xgrid( vector<double>& x, int n ) const; double pc( double v ) const; double pcerr( double v, double dv ) const; void calc_ticks( vector<double>& Tacks, int *ntpt, double *ticklim ) const; };