inlib  1.2.0
Public Member Functions | Static Public Member Functions | Protected Member Functions
inlib::sg::fit2plot Class Reference
Inheritance diagram for inlib::sg::fit2plot:
Inheritance graph
[legend]
Collaboration diagram for inlib::sg::fit2plot:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual void * cast (const std::string &a_class) const
virtual plottablecopy () const
virtual bool is_valid () const
virtual std::string name ()
virtual void set_name (const std::string &a_s)
virtual std::string title ()
virtual std::string legend ()
virtual void set_legend (const std::string &a_s)
virtual std::string infos (const std::string &a_opts)
 fit2plot (const std::vector< std::string > &a_names, const std::vector< double > &a_output)
virtual ~fit2plot ()

Static Public Member Functions

static const std::string & s_class ()

Protected Member Functions

 fit2plot (const fit2plot &a_from)

Detailed Description

Definition at line 15 of file fit2plot.


Constructor & Destructor Documentation

inlib::sg::fit2plot::fit2plot ( const std::vector< std::string > &  a_names,
const std::vector< double > &  a_output 
) [inline]

Definition at line 96 of file fit2plot.

  :m_names(a_names)
  ,m_output(a_output)
  {
    unsigned int nparam = (m_output.size()-2)/4;
    if(m_names.size()!=nparam) {
      //should issue a warning.
      m_names.clear();
      m_output.clear();
    }
  }
virtual inlib::sg::fit2plot::~fit2plot ( ) [inline, virtual]

Definition at line 107 of file fit2plot.

{}
inlib::sg::fit2plot::fit2plot ( const fit2plot a_from) [inline, protected]

Definition at line 109 of file fit2plot.

  : plottable(a_from)
  ,m_names(a_from.m_names)
  ,m_output(a_from.m_output)
  ,m_name(a_from.m_name)
  ,m_legend(a_from.m_legend)
  {}  

Member Function Documentation

virtual void* inlib::sg::fit2plot::cast ( const std::string &  a_class) const [inline, virtual]

Reimplemented from inlib::sg::plottable.

Definition at line 22 of file fit2plot.

                                                     {
    if(void* p = inlib::cmp_cast<fit2plot>(this,a_class)) {return p;}
    return plottable::cast(a_class);
  }
virtual plottable* inlib::sg::fit2plot::copy ( ) const [inline, virtual]

Implements inlib::sg::plottable.

Definition at line 27 of file fit2plot.

{return new fit2plot(*this);}
virtual std::string inlib::sg::fit2plot::infos ( const std::string &  a_opts) [inline, virtual]

Implements inlib::sg::plottable.

Definition at line 35 of file fit2plot.

                                                  {
    std::string f_lf("\n");
    std::string sinfos;
    std::vector<std::string> words;
    inlib::words(a_opts," ",false,words);
    std::vector<std::string>::const_iterator it;
  
    bool show_fit_ndf = false;
   {for(it=words.begin();it!=words.end();++it) {
      if((*it)=="fit_ndf") {show_fit_ndf = true;break;}
    }}
    bool show_fit_errors = false;
   {for(it=words.begin();it!=words.end();++it) {
      if((*it)=="fit_errors") {show_fit_errors = true;break;}
    }}

    for(it=words.begin();it!=words.end();++it) {
      if(((*it)=="name") && m_name.size()) {
        if(sinfos.size()) sinfos += f_lf;
        sinfos += "Name";
        sinfos += f_lf;
        sinfos += m_name;
  
      } else if((*it)=="fit_quality") {
        if(show_fit_ndf) {
          if(sinfos.size()) sinfos += f_lf;
          sinfos += "[h]^2! / ndf";
          sinfos += f_lf; 
          sinfos += to(m_output[0]);
          sinfos += " / "; 
          sinfos += to(m_output[1]);
        } else { //show chi2 only.
          if(sinfos.size()) sinfos += f_lf;
          sinfos += "[h]^2!";
          sinfos += f_lf;
          sinfos += to(m_output[0]);
        }

      } else if((*it)=="fit_parameters") {
        unsigned int nparam = m_names.size();
        for(unsigned int iparam=0;iparam<nparam;iparam++) {
          if(show_fit_errors) {
            if(sinfos.size()) sinfos += f_lf;
            sinfos += m_names[iparam];
            sinfos += f_lf;
            sinfos += to(m_output[2+4*iparam+0]); //value
            sinfos += " +&_ ";
            sinfos += to(m_output[2+4*iparam+1]); //error
          } else {
            if(sinfos.size()) sinfos += f_lf;
            sinfos += m_names[iparam];
            sinfos += f_lf;
            sinfos += to(m_output[2+4*iparam+0]);
          }
        }
      }
    }
  
    return sinfos;
  }
virtual bool inlib::sg::fit2plot::is_valid ( ) const [inline, virtual]

Implements inlib::sg::plottable.

Definition at line 28 of file fit2plot.

{return true;}
virtual std::string inlib::sg::fit2plot::legend ( ) [inline, virtual]

Implements inlib::sg::plottable.

Definition at line 32 of file fit2plot.

{return m_legend;}
virtual std::string inlib::sg::fit2plot::name ( ) [inline, virtual]

Implements inlib::sg::plottable.

Definition at line 29 of file fit2plot.

{return m_name;}
static const std::string& inlib::sg::fit2plot::s_class ( ) [inline, static]

Reimplemented from inlib::sg::plottable.

Definition at line 17 of file fit2plot.

                                    {
    static const std::string s_v("inlib::sg::fit2plot");
    return s_v;
  }
virtual void inlib::sg::fit2plot::set_legend ( const std::string &  a_s) [inline, virtual]

Implements inlib::sg::plottable.

Definition at line 33 of file fit2plot.

{m_legend = a_s;}
virtual void inlib::sg::fit2plot::set_name ( const std::string &  a_s) [inline, virtual]

Implements inlib::sg::plottable.

Definition at line 30 of file fit2plot.

{m_name = a_s;}
virtual std::string inlib::sg::fit2plot::title ( ) [inline, virtual]

Implements inlib::sg::plottable.

Definition at line 31 of file fit2plot.

{return "";}

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines