MnUserParameters.cxx

Go to the documentation of this file.
00001 // @(#)root/minuit2:$Id: MnUserParameters.cxx 24400 2008-06-20 07:28:49Z moneta $
00002 // Authors: M. Winkler, F. James, L. Moneta, A. Zsenei   2003-2005  
00003 
00004 /**********************************************************************
00005  *                                                                    *
00006  * Copyright (c) 2005 LCG ROOT Math team,  CERN/PH-SFT                *
00007  *                                                                    *
00008  **********************************************************************/
00009 
00010 #include "Minuit2/MnUserParameters.h"
00011 
00012 namespace ROOT {
00013 
00014    namespace Minuit2 {
00015 
00016 
00017 MnUserParameters::MnUserParameters(const std::vector<double>& par, const std::vector<double>& err) : fTransformation(par, err) {}
00018 
00019 // all implemented forwarding to MnUserTransformation class
00020 
00021 const std::vector<MinuitParameter>& MnUserParameters::Parameters() const {
00022    // return vector of MinuitParameter objects
00023    return fTransformation.Parameters();
00024 }
00025 
00026 std::vector<double> MnUserParameters::Params() const {
00027    // return std::vector of double with parameter values 
00028    return fTransformation.Params();
00029 }
00030 
00031 std::vector<double> MnUserParameters::Errors() const {
00032    // return std::vector of double with parameter errors
00033    return fTransformation.Errors();
00034 }
00035 
00036 const MinuitParameter& MnUserParameters::Parameter(unsigned int n) const {
00037    // return the MinuitParameter object for index n (external)
00038    return fTransformation.Parameter(n);
00039 }
00040 
00041 bool MnUserParameters::Add(const std::string & name, double val, double err) {
00042    // add a new unlimited parameter giving name, value and err (step size)
00043    // return false if parameter already exists
00044    return fTransformation.Add(name, val, err);
00045 }
00046 
00047 bool  MnUserParameters::Add(const std::string & name, double val, double err, double low, double up) {
00048    // add a new limited parameter giving name, value, err (step size) and lower/upper limits
00049    // return false if parameter already exists
00050    return fTransformation.Add(name, val, err, low, up);
00051 }
00052 
00053 bool  MnUserParameters::Add(const std::string & name, double val) {
00054    // add a new unlimited parameter giving name and value
00055    // return false if parameter already exists
00056    return fTransformation.Add(name, val);
00057 }
00058 
00059 void MnUserParameters::Fix(unsigned int n) {
00060    // fix parameter n
00061    fTransformation.Fix(n);
00062 }
00063 
00064 void MnUserParameters::Release(unsigned int n) {
00065    // release parameter n
00066    fTransformation.Release(n);
00067 }
00068 
00069 void MnUserParameters::SetValue(unsigned int n, double val) {
00070    // set value for parameter n
00071    fTransformation.SetValue(n, val);
00072 }
00073 
00074 void MnUserParameters::SetError(unsigned int n, double err) {
00075    // set error for parameter n
00076    fTransformation.SetError(n, err);
00077 }
00078 
00079 void MnUserParameters::SetLimits(unsigned int n, double low, double up) {
00080    // set limits (lower/upper) for parameter n
00081    fTransformation.SetLimits(n, low, up);
00082 }
00083 
00084 void MnUserParameters::SetUpperLimit(unsigned int n, double up) {
00085    // set upper limit for parameter n
00086    fTransformation.SetUpperLimit(n, up);
00087 }
00088 
00089 void MnUserParameters::SetLowerLimit(unsigned int n, double low) {
00090    // set lower limit for parameter n
00091    fTransformation.SetLowerLimit(n, low);
00092 }
00093 
00094 void MnUserParameters::RemoveLimits(unsigned int n) {
00095    // remove limits for parameter n
00096    fTransformation.RemoveLimits(n);
00097 }
00098 
00099 double MnUserParameters::Value(unsigned int n) const {
00100    // get value for parameter n
00101    return fTransformation.Value(n);
00102 }
00103 
00104 double MnUserParameters::Error(unsigned int n) const {
00105    // get error for parameter n
00106    return fTransformation.Error(n);
00107 }
00108 
00109 // interface using  parameter name
00110 
00111 void MnUserParameters::Fix(const std::string & name) {
00112    // fix parameter 
00113    Fix(Index(name));
00114 }
00115 
00116 void MnUserParameters::Release(const std::string & name) {
00117    // release parameter 
00118    Release(Index(name));
00119 }
00120 
00121 void MnUserParameters::SetValue(const std::string & name, double val) {
00122    // set value for parameter 
00123    SetValue(Index(name), val);
00124 }
00125 
00126 void MnUserParameters::SetError(const std::string & name, double err) {
00127    // set error
00128    SetError(Index(name), err);
00129 }
00130 
00131 void MnUserParameters::SetLimits(const std::string & name, double low, double up) {
00132    // set lower/upper limits
00133    SetLimits(Index(name), low, up);
00134 }
00135 
00136 void MnUserParameters::SetUpperLimit(const std::string & name, double up) {
00137    // set upper limit
00138    fTransformation.SetUpperLimit(Index(name), up);
00139 }
00140 
00141 void MnUserParameters::SetLowerLimit(const std::string & name, double low) {
00142    // set lower limit
00143    fTransformation.SetLowerLimit(Index(name), low);
00144 }
00145 
00146 void MnUserParameters::RemoveLimits(const std::string & name) {
00147    // remove limits
00148    RemoveLimits(Index(name));
00149 }
00150 
00151 double MnUserParameters::Value(const std::string & name) const {
00152    // get parameter value
00153    return Value(Index(name));
00154 }
00155 
00156 double MnUserParameters::Error(const std::string & name) const {
00157    // get parameter error
00158    return Error(Index(name));
00159 }
00160 
00161 unsigned int MnUserParameters::Index(const std::string & name) const {
00162    // get index (external) corresponding to name
00163    return fTransformation.Index(name);
00164 }
00165 
00166 const std::string & MnUserParameters::GetName(unsigned int n) const {
00167    // get name corresponding to index (external)
00168    return fTransformation.GetName(n);
00169 }
00170 const char* MnUserParameters::Name(unsigned int n) const {
00171    // get name corresponding to index (external)
00172    return fTransformation.Name(n);
00173 }
00174 
00175 const MnMachinePrecision& MnUserParameters::Precision() const {
00176    // get global paramter precision
00177    return fTransformation.Precision();
00178 }
00179 
00180    }  // namespace Minuit2
00181 
00182 }  // namespace ROOT

Generated on Tue Jul 5 14:37:10 2011 for ROOT_528-00b_version by  doxygen 1.5.1