10 #ifndef ROOT_Minuit2_MnUserCovariance 11 #define ROOT_Minuit2_MnUserCovariance 13 #ifndef ROOT_Minuit2_MnConfig 38 assert(data.size() == nrow*(nrow+1)/2);
43 fData(
std::vector<double>(data,data+nrow*(nrow+1)/2)),
62 double operator()(
unsigned int row,
unsigned int col)
const {
65 return fData[col+row*(row+1)/2];
67 return fData[row+col*(col+1)/2];
73 return fData[col+row*(row+1)/2];
75 return fData[row+col*(col+1)/2];
79 for(
unsigned int i = 0; i <
fData.size(); i++)
fData[i] *= f;
82 const std::vector<double>&
Data()
const {
return fData;}
88 {
return static_cast <
unsigned int > (
fData.size() );
101 #endif // ROOT_Minuit2_MnUserCovariance std::vector< double > fData
This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecu...
const std::vector< double > & Data() const
unsigned int Nrow() const
MnUserCovariance(const MnUserCovariance &cov)
MnUserCovariance(const std::vector< double > &data, unsigned int nrow)
double operator()(unsigned int row, unsigned int col) const
MnUserCovariance & operator=(const MnUserCovariance &cov)
MnUserCovariance(const double *data, unsigned int nrow)
MnUserCovariance(unsigned int n)
unsigned int size() const
double & operator()(unsigned int row, unsigned int col)
Class containing the covariance matrix data represented as a vector of size n*(n+1)/2 Used to hide in...