20 FitData::FitData(
unsigned int maxpoints,
unsigned int dim) :
22 fMaxPoints(maxpoints),
25 fpTmpCoordVector(nullptr)
32 FitData::FitData(
const DataOptions &opt,
unsigned int maxpoints,
unsigned int dim) :
35 fMaxPoints(maxpoints),
38 fpTmpCoordVector(nullptr)
46 FitData::FitData(
const DataRange &range,
unsigned int maxpoints,
unsigned int dim) :
49 fMaxPoints(maxpoints),
52 fpTmpCoordVector(nullptr)
59 FitData::FitData(
const DataOptions &opt,
const DataRange &range,
60 unsigned int maxpoints,
unsigned int dim) :
64 fMaxPoints(maxpoints),
69 fpTmpCoordVector(nullptr)
76 FitData::FitData(
unsigned int n,
const double *dataX) :
82 fpTmpCoordVector(nullptr)
85 fCoordsPtr[0] = dataX;
87 if (fpTmpCoordVector) {
88 delete[] fpTmpCoordVector;
89 fpTmpCoordVector =
nullptr;
92 fpTmpCoordVector =
new double [fDim];
96 FitData::FitData(
unsigned int n,
const double *dataX,
const double *dataY) :
102 fpTmpCoordVector(nullptr)
104 assert(dataX && dataY);
105 fCoordsPtr[0] = dataX;
106 fCoordsPtr[1] = dataY;
108 if (fpTmpCoordVector) {
109 delete[] fpTmpCoordVector;
110 fpTmpCoordVector =
nullptr;
113 fpTmpCoordVector =
new double [fDim];
117 FitData::FitData(
unsigned int n,
const double *dataX,
const double *dataY,
118 const double *dataZ) :
121 fNPoints(fMaxPoints),
124 fpTmpCoordVector(nullptr)
126 assert(dataX && dataY && dataZ);
127 fCoordsPtr[0] = dataX;
128 fCoordsPtr[1] = dataY;
129 fCoordsPtr[2] = dataZ;
131 if (fpTmpCoordVector) {
132 delete[] fpTmpCoordVector;
133 fpTmpCoordVector =
nullptr;
136 fpTmpCoordVector =
new double [fDim];
144 FitData::FitData(
const DataRange &range,
unsigned int maxpoints,
const double *dataX) :
147 fMaxPoints(maxpoints),
150 fpTmpCoordVector(nullptr)
154 const double *ptrList[] = { dataX };
156 InitFromRange(ptrList);
164 FitData::FitData(
const DataRange &range,
unsigned int maxpoints,
const double *dataX,
const double *dataY) :
167 fMaxPoints(maxpoints),
170 fpTmpCoordVector(nullptr)
174 const double *ptrList[] = { dataX, dataY };
176 InitFromRange(ptrList);
184 FitData::FitData(
const DataRange &range,
unsigned int maxpoints,
const double *dataX,
const double *dataY,
185 const double *dataZ) :
188 fMaxPoints(maxpoints),
191 fpTmpCoordVector(nullptr)
195 const double *ptrList[] = { dataX, dataY, dataZ };
197 InitFromRange(ptrList);
203 for (
unsigned int i = 0; i < fDim; i++) {
204 assert(fWrapped == fCoords.empty());
205 assert(fCoords.empty() || &fCoords[i].front() == fCoordsPtr[i]);
207 if (fpTmpCoordVector)
delete[] fpTmpCoordVector;
211 FitData::FitData(
const FitData &rhs)
216 FitData &FitData::operator= (
const FitData &rhs)
218 fWrapped = rhs.fWrapped;
219 fOptions = rhs.fOptions;
222 fMaxPoints = rhs.fMaxPoints;
227 fCoordsPtr = rhs.fCoordsPtr;
229 fCoords = rhs.fCoords;
231 fCoordsPtr.resize(fDim);
233 for (
unsigned int i = 0; i < fDim; i++) {
234 fCoordsPtr[i] = fCoords[i].empty() ?
nullptr : &fCoords[i].front();
238 if (fpTmpCoordVector) {
239 delete[] fpTmpCoordVector;
240 fpTmpCoordVector =
nullptr;
243 fpTmpCoordVector =
new double [fDim];
248 void FitData::Append(
unsigned int newPoints,
unsigned int dim)
252 fMaxPoints = fMaxPoints + newPoints;