27 #include <QtCore/QDataStream>
47 return "SgParameterBreak";
56 epoch4Export_(b.epoch4Export_)
188 const SgMJD& t,
double dT,
double sign)
197 parameters.append(
pA0_);
206 parameters.append(
pA1_);
215 parameters.append(
pA2_);
223 const SgMJD& t,
double dT,
double sign)
232 parameters.append(
pA1_);
241 parameters.append(
pA2_);
251 if (s.status() != QDataStream::Ok)
254 ": saveIntermediateResults(): error writting data");
260 ": saveIntermediateResults(): error writting data for the epoch");
266 ": saveIntermediateResults(): error writting data for the export epoch");
269 return s.status() == QDataStream::Ok;
279 unsigned int attributes;
280 s >> attributes >> a0 >> a1 >> a2 >> s0 >> s1 >> s2;
281 if (s.status() != QDataStream::Ok)
284 ": loadIntermediateResults(): error reading data: " +
285 (s.status()==QDataStream::ReadPastEnd?
"read past end of the file":
"read corrupt data"));
291 ": loadIntermediateResults(): error reading data for the epoch: " +
292 (s.status()==QDataStream::ReadPastEnd?
"read past end of the file":
"read corrupt data"));
298 ": loadIntermediateResults(): error writting data for the export epoch");
326 return "SgBreakModel";
335 for (
int i=0; i<size(); i++)
340 for (
int i=0; i<m.size(); i++)
356 for (
int i=0; i<size(); i++)
369 for (
int i=0; i<size(); i++)
380 for (
int i=0; i<size(); i++)
394 for (
int i=0; i<size(); i++)
395 if (*it[i]==*((
SgMJD*)aBreak))
412 for (
int i=0; i<size(); i++)
413 if (fabs(*it[i]-t) < 0.8/
DAY2SEC)
417 aBreak = takeAt(idx2Del);
436 if (n>-1 && n<size())
455 for (
int i=0; i<size(); i++)
456 at(i)->createParameters(prefix + QString(
"").sprintf(
"#%02d", i));
464 for (
int i=0; i<size(); i++)
465 at(i)->releaseParameters();
472 const SgMJD& t,
double tau,
double sign)
474 for (
int i=0; i<size(); i++)
475 at(i)->propagatePartials(parameters, t, tau, sign);
482 const SgMJD& t,
double tau,
double sign)
484 for (
int i=0; i<size(); i++)
485 at(i)->propagatePartials4rates(parameters, t, tau, sign);
496 for (
int i=0; i<n; i++)
498 at(i)->saveIntermediateResults(s);
499 if (s.status() != QDataStream::Ok)
502 ": loadIntermediateResults(): error writting data: idx#" + QString(
"").setNum(i));
506 return s.status()==QDataStream::Ok;
518 if (s.status() != QDataStream::Ok)
521 ": loadIntermediateResults(): error reading data (num): " +
522 (s.status()==QDataStream::ReadPastEnd?
"read past end of the file":
"read corrupt data"));
526 for (
int i=0; i<n; i++)
528 if (s.status() == QDataStream::Ok)
537 ": loadIntermediateResults(): error reading data (idx#" + QString(
"").setNum(i) +
"): " +
538 (s.status()==QDataStream::ReadPastEnd?
"read past end of the file":
"read corrupt data"));
542 if (s.status() == QDataStream::Ok)
548 ": loadIntermediateResults(): error reading data (@end): " +
549 (s.status()==QDataStream::ReadPastEnd?
"read past end of the file":
"read corrupt data"));
bool mjdOrderLessThan(const SgParameterBreak *, const SgParameterBreak *)
#define DAY2SEC
radians to mas:
bool isAttr(uint a) const
void setAttributes(unsigned int a)
unsigned int getAttributes() const
void setT0(const SgMJD &t)
SgBreakModel & operator=(const SgBreakModel &m)
double value(const SgMJD &t) const
bool delBreak(const SgMJD &t)
void createParameters(const QString &prefix)
double rate(const SgMJD &t) const
bool addBreak(const SgMJD &t, double a0=0.0, double a1=0.0, double a2=0.0, bool isDynamic=false)
bool loadIntermediateResults(QDataStream &)
const SgMJD & getT0() const
static const QString className()
void propagatePartials4rates(QList< SgParameter * > ¶meters, const SgMJD &t, double tau, double sign)
void propagatePartials(QList< SgParameter * > ¶meters, const SgMJD &t, double tau, double sign)
bool saveIntermediateResults(QDataStream &) const
virtual void write(LogLevel, quint32, const QString &, bool=false)
bool saveIntermediateResults(QDataStream &) const
bool loadIntermediateResults(QDataStream &)
void propagatePartials(QList< SgParameter * > ¶meters, const SgMJD &t, double tau, double sign)
bool loadIntermediateResults(QDataStream &)
const SgMJD & getEpoch4Export() const
void propagatePartials4rates(QList< SgParameter * > ¶meters, const SgMJD &t, double tau, double sign)
void createParameters(const QString &prefix)
static const QString className()
SgParameterBreak & operator=(const SgParameterBreak &b)
@ Attr_DYNAMIC
parameters supposed to be estimated during the common solution;
bool saveIntermediateResults(QDataStream &) const
void setEpoch4Export(const SgMJD &)