#ifndef ROOT_Minuit2_MnUserParameters
#define ROOT_Minuit2_MnUserParameters
#include "Minuit2/MnUserTransformation.h"
#include <vector>
namespace ROOT {
   namespace Minuit2 {
class MnMachinePrecision;
class MnUserParameters {
public:
  MnUserParameters() : fTransformation(MnUserTransformation()) {}
  MnUserParameters(const std::vector<double>&, const std::vector<double>&);
  ~MnUserParameters() {}
  MnUserParameters(const MnUserParameters& par) : 
    fTransformation(par.fTransformation) {}
  MnUserParameters& operator=(const MnUserParameters& par) {
    fTransformation = par.fTransformation;
    return *this;
  }
  const MnUserTransformation& Trafo() const {return fTransformation;}
  unsigned int VariableParameters() const {
    return fTransformation.VariableParameters();
  }
  
   const std::vector<ROOT::Minuit2::MinuitParameter>& Parameters() const;
  
  std::vector<double> Params() const;
  std::vector<double> Errors() const;
  
  const MinuitParameter& Parameter(unsigned int) const;
  
  bool Add(const char*, double, double);
  
  bool Add(const char*, double, double, double, double);
  
  bool Add(const char*, 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 char*);
  void Release(const char*);
  void SetValue(const char*, double);
  void SetError(const char*, double);
  void SetLimits(const char*, double, double);
  void SetUpperLimit(const char*, double);
  void SetLowerLimit(const char*, double);
  void RemoveLimits(const char*);
  double Value(const char*) const;
  double Error(const char*) const;
  
  
  unsigned int Index(const char*) const;
  
  const char* Name(unsigned int) const;
  const MnMachinePrecision& Precision() const;
  void SetPrecision(double eps) {fTransformation.SetPrecision(eps);}
private:
  MnUserTransformation fTransformation;
};
  }  
}  
#endif  // ROOT_Minuit2_MnUserParameters
Last update: Thu Jan 17 08:42:40 2008
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.