10#ifndef ROOT_Minuit2_MnUserCovariance
11#define ROOT_Minuit2_MnUserCovariance
36 assert(data.size() == nrow*(nrow+1)/2);
41 fData(std::vector<double>(data,data+nrow*(nrow+1)/2)),
60 double operator()(
unsigned int row,
unsigned int col)
const {
63 return fData[col+row*(row+1)/2];
65 return fData[row+col*(col+1)/2];
71 return fData[col+row*(row+1)/2];
73 return fData[row+col*(col+1)/2];
77 for(
unsigned int i = 0; i <
fData.size(); i++)
fData[i] *=
f;
80 const std::vector<double>&
Data()
const {
return fData;}
86 {
return static_cast < unsigned int > (
fData.size() );
Class containing the covariance matrix data represented as a vector of size n*(n+1)/2 Used to hide in...
unsigned int Nrow() const
const std::vector< double > & Data() const
std::vector< double > fData
double & operator()(unsigned int row, unsigned int col)
MnUserCovariance(unsigned int n)
MnUserCovariance(const MnUserCovariance &cov)
MnUserCovariance(const double *data, unsigned int nrow)
unsigned int size() const
double operator()(unsigned int row, unsigned int col) const
MnUserCovariance & operator=(const MnUserCovariance &cov)
MnUserCovariance(const std::vector< double > &data, unsigned int nrow)
Namespace for new ROOT classes and functions.