ModelParameter.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012 HEPfit Collaboration
3  * All rights reserved.
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #include "ModelParameter.h"
9 
10 ModelParameter::ModelParameter(std::string name_in, double ave_in, double errg_in, double errf_in)
11 {
12  name = name_in;
13  ave = ave_in;
14  errg = errg_in;
15  errf = errf_in;
16  min = ave - errf - 5.*errg;
17  max = ave + errf + 5.*errg;
18  cgp_name.clear();
19  if(errg == 0. && errf == 0.)
20  isFixed = true;
21  else
22  isFixed = false;
23 }
24 
26 {}
27 
29 {
30 }
31 
32 std::ostream& operator<<(std::ostream& output, const ModelParameter& m)
33 {
34  output << "ModelParameter name, average, gaussian error, flat error" << std::endl;
35  output << m.name << " " << m.ave << " " << m.errg << " " << m.errf << std::endl;
36  return output;
37 }
38 
39 boost::tokenizer<boost::char_separator<char> >::iterator & ModelParameter::ParseModelParameter(boost::tokenizer<boost::char_separator<char> >::iterator & beg)
40 {
41 
42  name = *beg;
43  ++beg;
44  ave = atof((*beg).c_str());
45  ++beg;
46  errg = atof((*beg).c_str());
47  ++beg;
48  errf = atof((*beg).c_str());
49  ++beg;
50  min = ave - errf - 5.*errg;
51  max = ave + errf + 5.*errg;
52 
53  cgp_name.clear();
54  if(errg == 0. && errf == 0.)
55  isFixed = true;
56  else
57  isFixed = false;
58 
59  return beg;
60 }
std::string name
The name of the model parameter.
ModelParameter()
Constructor.
std::string cgp_name
bool isFixed
A boolean flag that is true if the parameter is fixed.
double min
The minimum value of the model parameter.
A class for model parameters.
double errg
The Gaussian error of the model parameter.
virtual ~ModelParameter()
The default destructor.
double ave
The average value of the model parameter.
boost::tokenizer< boost::char_separator< char > >::iterator & ParseModelParameter(boost::tokenizer< boost::char_separator< char > >::iterator &beg)
Parser for model parameters.
double max
The maximum value of the model parameter.
double errf
The flat error of the model parameter.
std::ostream & operator<<(std::ostream &output, const ModelParameter &m)