13 #ifndef ROOT_Fit_UnBinData
14 #define ROOT_Fit_UnBinData
16 #include "Fit/FitData.h"
50 explicit UnBinData(
unsigned int maxpoints = 0,
unsigned int dim = 1,
51 bool isWeighted =
false ) :
52 FitData( maxpoints, isWeighted ? dim + 1 : dim ),
64 unsigned int dim = 1,
bool isWeighted =
false ) :
65 FitData( range, maxpoints, isWeighted ? dim + 1 : dim ),
76 unsigned int maxpoints = 0,
unsigned int dim = 1,
bool isWeighted =
false ) :
77 FitData( opt, range, maxpoints, isWeighted ? dim + 1 : dim ),
97 UnBinData(
unsigned int n,
const double * dataX,
const double * dataY,
98 bool isWeighted =
false ) :
99 FitData( n, dataX, dataY ),
108 UnBinData(
unsigned int n,
const double * dataX,
const double * dataY,
109 const double * dataZ,
bool isWeighted =
false ) :
110 FitData( n, dataX, dataY, dataZ ),
122 template<
class Iterator>
123 UnBinData(
unsigned int n,
unsigned int dim, Iterator dataItr,
124 bool isWeighted =
false ) :
125 FitData( n, isWeighted ? dim + 1 : dim, dataItr ),
136 FitData( range, maxpoints, dataX ),
146 UnBinData(
unsigned int maxpoints,
const double * dataX,
const double * dataY,
147 const DataRange & range,
bool isWeighted =
false) :
148 FitData( range, maxpoints, dataX, dataY ),
157 UnBinData(
unsigned int maxpoints,
const double * dataX,
const double * dataY,
158 const double * dataZ,
const DataRange & range,
bool isWeighted =
false) :
159 FitData( range, maxpoints, dataX, dataY, dataZ ),
169 template<
class Iterator>
170 UnBinData(
unsigned int maxpoints,
unsigned int dim, Iterator dataItr,
const DataRange & range,
bool isWeighted =
false ) :
171 FitData( range, maxpoints, dim, dataItr ),
212 void Add(
double x,
double y)
215 double dataTmp[] = { x, y };
217 FitData::Add( dataTmp );
224 void Add(
double x,
double y,
double z)
227 double dataTmp[] = { x, y, z };
229 FitData::Add( dataTmp );
235 void Add(
const double* x )
243 void Add(
const double *x,
double w)
247 std::vector<double> tmpVec(fDim);
248 std::copy( x, x + fDim - 1, tmpVec.begin() );
251 FitData::Add( &tmpVec.front() );
257 double Weight(
unsigned int ipoint )
const
259 assert( ipoint < fNPoints );
262 return *GetCoordComponent(ipoint, fDim-1);
267 assert( ipoint < fNPoints );
270 MATH_ERROR_MSG(
"UnBinData::WeightsPtr",
"The function is unweighted!");
273 return GetCoordComponent(ipoint, fDim-1);
288 void Append(
unsigned int newPoints,
unsigned int dim = 1,
bool isWeighted =
false )
294 FitData::Append( newPoints, dim );
#define MATH_ERROR_MSG(loc, str)
UnBinData(const DataRange &range, unsigned int maxpoints=0, unsigned int dim=1, bool isWeighted=false)
void Add(const double *x, double w)
double Weight(unsigned int ipoint) const
const double * WeightsPtr(unsigned int ipoint) const
UnBinData(unsigned int maxpoints, unsigned int dim, Iterator dataItr, const DataRange &range, bool isWeighted=false)
unsigned int NDim() const
UnBinData(unsigned int n, const double *dataX, const double *dataY, const double *dataZ, bool isWeighted=false)
void Append(unsigned int newPoints, unsigned int dim=1, bool isWeighted=false)
UnBinData(unsigned int maxpoints, const double *dataX, const DataRange &range)
UnBinData(const DataOptions &opt, const DataRange &range, unsigned int maxpoints=0, unsigned int dim=1, bool isWeighted=false)
void Add(double x, double y)
UnBinData(unsigned int n, const double *dataX)
void Add(double x, double y, double z)
UnBinData(unsigned int maxpoints=0, unsigned int dim=1, bool isWeighted=false)
UnBinData(unsigned int n, unsigned int dim, Iterator dataItr, bool isWeighted=false)
void Add(const double *x)
UnBinData(unsigned int maxpoints, const double *dataX, const double *dataY, const double *dataZ, const DataRange &range, bool isWeighted=false)
UnBinData & operator=(const UnBinData &)
assignment operator (private)
UnBinData(unsigned int maxpoints, const double *dataX, const double *dataY, const DataRange &range, bool isWeighted=false)
UnBinData(unsigned int n, const double *dataX, const double *dataY, bool isWeighted=false)
UnBinData(const UnBinData &)
copy constructor (private)