#ifndef ROOT_Minuit2_MnUserParameterState
#define ROOT_Minuit2_MnUserParameterState
#include "Minuit2/MnUserParameters.h"
#include "Minuit2/MnUserCovariance.h"
#include "Minuit2/MnGlobalCorrelationCoeff.h"
namespace ROOT {
namespace Minuit2 {
class MinimumState;
class MnUserParameterState {
public:
MnUserParameterState() : fValid(false), fCovarianceValid(false), fParameters(MnUserParameters()), fCovariance(MnUserCovariance()), fIntParameters(std::vector<double>()), fIntCovariance(MnUserCovariance()) {}
MnUserParameterState(const std::vector<double>&, const std::vector<double>&);
MnUserParameterState(const MnUserParameters&);
MnUserParameterState(const std::vector<double>&, const std::vector<double>&, unsigned int);
MnUserParameterState(const std::vector<double>&, const MnUserCovariance&);
MnUserParameterState(const MnUserParameters&, const MnUserCovariance&);
MnUserParameterState(const MinimumState&, double, const MnUserTransformation&);
~MnUserParameterState() {}
MnUserParameterState(const MnUserParameterState& state) : fValid(state.fValid), fCovarianceValid(state.fCovarianceValid), fGCCValid(state.fGCCValid), fFVal(state.fFVal), fEDM(state.fEDM), fNFcn(state.fNFcn), fParameters(state.fParameters), fCovariance(state.fCovariance), fGlobalCC(state.fGlobalCC), fIntParameters(state.fIntParameters), fIntCovariance(state.fIntCovariance) {}
MnUserParameterState& operator=(const MnUserParameterState& state) {
fValid = state.fValid;
fCovarianceValid = state.fCovarianceValid;
fGCCValid = state.fGCCValid;
fFVal = state.fFVal;
fEDM = state.fEDM;
fNFcn = state.fNFcn;
fParameters = state.fParameters;
fCovariance = state.fCovariance;
fGlobalCC = state.fGlobalCC;
fIntParameters = state.fIntParameters;
fIntCovariance = state.fIntCovariance;
return *this;
}
const MnUserParameters& Parameters() const {return fParameters;}
const MnUserCovariance& Covariance() const {return fCovariance;}
const MnGlobalCorrelationCoeff& GlobalCC() const {return fGlobalCC;}
const std::vector<double>& IntParameters() const {return fIntParameters;}
const MnUserCovariance& IntCovariance() const {return fIntCovariance;}
const MnUserTransformation& Trafo() const {return fParameters.Trafo();}
bool IsValid() const {return fValid;}
bool HasCovariance() const {return fCovarianceValid;}
bool HasGlobalCC() const {return fGCCValid;}
double Fval() const {return fFVal;}
double Edm() const {return fEDM;}
unsigned int NFcn() const {return fNFcn;}
public:
const std::vector<ROOT::Minuit2::MinuitParameter>& MinuitParameters() const;
std::vector<double> Params() const;
std::vector<double> Errors() const;
const MinuitParameter& Parameter(unsigned int i) const;
void Add(const std::string & name, double val, double err);
void Add(const std::string & name, double val, double err, double , double);
void Add(const std::string &, double);
void Fix(unsigned int);
void Release(unsigned int);
void SetValue(unsigned int, double);
void SetError(unsigned int, double);
void SetLimits(unsigned int, double, double);
void SetUpperLimit(unsigned int, double);
void SetLowerLimit(unsigned int, double);
void RemoveLimits(unsigned int);
double Value(unsigned int) const;
double Error(unsigned int) const;
void Fix(const std::string &);
void Release(const std::string &);
void SetValue(const std::string &, double);
void SetError(const std::string &, double);
void SetLimits(const std::string &, double, double);
void SetUpperLimit(const std::string &, double);
void SetLowerLimit(const std::string &, double);
void RemoveLimits(const std::string &);
double Value(const std::string &) const;
double Error(const std::string &) const;
unsigned int Index(const std::string &) const;
const std::string & GetName(unsigned int) const;
const char* Name(unsigned int) const;
double Int2ext(unsigned int, double) const;
double Ext2int(unsigned int, double) const;
unsigned int IntOfExt(unsigned int) const;
unsigned int ExtOfInt(unsigned int) const;
unsigned int VariableParameters() const;
const MnMachinePrecision& Precision() const;
void SetPrecision(double eps);
private:
bool fValid;
bool fCovarianceValid;
bool fGCCValid;
double fFVal;
double fEDM;
unsigned int fNFcn;
MnUserParameters fParameters;
MnUserCovariance fCovariance;
MnGlobalCorrelationCoeff fGlobalCC;
std::vector<double> fIntParameters;
MnUserCovariance fIntCovariance;
};
}
}
#endif // ROOT_Minuit2_MnUserParameterState
Last change: Wed Jun 25 08:30:41 2008
Last generated: 2008-06-25 08:30
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.