Skip to content
Snippets Groups Projects
axis.hpp 1.57 KiB
Newer Older
  • Learn to ignore specific revisions
  • //**************************************************************************//
    
    //* FRIDA: fast reliable interactive data analysis                         *//
    
    //* (C) Joachim Wuttke 1990-, v2(C++) 2001-                                *//
    
    Wuttke, Joachim's avatar
    ..  
    Wuttke, Joachim committed
    //* http://apps.jcns.fz-juelich.de/frida                                   *//
    
    //**************************************************************************//
    
    
    Wuttke, Joachim's avatar
    Wuttke, Joachim committed
    //! \file  axis.hpp
    
    //! \brief CAxis: One axis of a coordinate frame.
    
    Wuttke, Joachim's avatar
    ..  
    Wuttke, Joachim committed
    
    
    //! 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 )