43 return "SgSingleSessionTaskManager";
52 "::prepare4Run(): preparing to run the task");
67 "::prepare4Run(): there is no VLBI session to process");
72 "::prepare4Run(): too many sessions in the task");
79 "::prepare4Run(): the current sessionInfo object has been adjusted");
85 "::prepare4Run(): the current session object is not defined");
93 "::prepare4Run(): the pointer on observations is NULL");
99 "::prepare4Run(): there is no any observations in the container of observations");
129 "::prepare4Run(): clocks have been reset for " + si->
getKey());
156 "::run(): data analysis procedure initiated",
true);
173 int nDataTypes(useDelays && useRates?2:1);
202 eligibleObservations << obs;
211 (*longOperationStart_)(0, eligibleObservations.size(),
"Processing observations");
212 for (obsIdx=0; obsIdx<eligibleObservations.size(); obsIdx++)
237 (*longOperationStop_)();
238 eligibleObservations.clear();
246 "::run(): the solution is obtained, starting evaluation of residuals and statistics",
true);
318 if (!isRoughAnalysis && sni->numProcessed(
DT_DELAY)<4 &&
323 "::run(): the station " + sni->getKey() +
324 " was deselected from the solution due to a small number of observations");
335 double ra(sni->getRA()), dn(sni->getDN());
338 ra = sni->getRA_ea();
339 dn = sni->getDN_ea();
342 ra+sni->pRA()->getSolution(), dn+sni->pDN()->getSolution()));
351 if (isNeedReweighting &&
356 bni->copySigmas2add(bi);
360 if (!useRates && bni->getSigma2add(
DT_RATE)==0.0)
361 bni->setSigma2add(
DT_RATE, 100.0e-15);
363 bni->copyStatistics(bi);
365 if (!isRoughAnalysis && bni->numProcessed(
DT_DELAY)<4 &&
370 "::run(): the baseline " + bni->getKey() +
371 " was deselected from the solution due to a small number of observations");
440 for (
int i=0; i<si->
sModel().size(); i++)
449 si->
sModel()[i].setKsig(si->
sModel()[i].pK()->getSigma());
450 si->
sModel()[i].setBsig(si->
sModel()[i].pB()->getSigma());
451 si->
sModel()[i].setXsig(si->
sModel()[i].pX()->getSigma());
452 si->
sModel()[i].setYsig(si->
sModel()[i].pY()->getSigma());
455 "::run(): aux parameters for " + si->
getKey() +
456 QString(
"").sprintf(
": X=%.4f (%.4f) Y=%.4f (%.4f) K=%.4f (%.4f) B=%.4f (%.4f) %.3f(ps)",
462 si->
sModel()[i].getKsig(),
464 si->
sModel()[i].getBsig(),
476 if (isNeedReweighting)
486 const char* obsTypeNames[]=
487 {
"None",
"Single Band Delays",
"Group Delays",
"Phase Delays"};
489 "::run(): data analysis procedure finished",
true);
491 "::run(): " + QString(
"").sprintf(
"%d observables were reduced to %d parameters",
497 QString(
"").sprintf(
"(%d/%d/%d) observations of %s on the %s-Band were processed",
502 qPrintable(band->
getKey())),
true);
505 QString(
"").sprintf(
"WRMS= %.2fps with reduced chi2=%.4f, Tmean = ",
516 QString(
"").sprintf(
"(%d/%d/%d) observations of Delay Rates on the %s-Band were processed",
520 qPrintable(band->
getKey())),
true);
523 QString(
"").sprintf(
"WRMS= %.2ffs/s with reduced chi2=%.4f, Tmean = ",
529 "::run(): " + QString(
"").sprintf(
"the largest condition number of the working matrix is %.6E",
532 "::run(): elapsed time for the task is: " +
568 "::finisRun(): ==== baseline length aux. report ====");
593 b_apriori = (s2->
getR() - s1->
getR());
604 str.sprintf(
"length a priori: %14.2f (mm) a posteriori: %14.2f (mm)"
605 " change in length: %10.2f (mm)",
606 l_apriori*1000.0, l*1000.0, (l-l_apriori)*1000.0);
608 "::finisRun(): Baseline " + blName +
": " + str +
613 "::finisRun(): a station pointer is NULL");
619 "::finisRun(): ==== end of aux report ====");
632 "::finisRun(): the task is finished");
645 "::updateParamaterLists(): the list of global parameters (" +
653 "::updateParamaterLists(): the list of arc parameters (" +
654 QString(
"_").setNum(
arcParameters_->size()) +
") has been created");
662 "::updateParamaterLists(): the list of local parameters (" +
671 "::updateParamaterLists(): the list of `picewise linear' parameters (" +
672 QString(
"_").setNum(
pwlParameters_->size()) +
") has been created");
680 "::updateParamaterLists(): the list of stochastic parameters (" +
QString interval2Str(double days)
#define RAD2MAS
radians to ms:
QMap< QString, SgVlbiBaselineInfo * >::iterator BaselinesByName_it
QMap< QString, SgVlbiSourceInfo * >::iterator SourcesByName_it
QMap< QString, SgVlbiStationInfo * >::iterator StationsByName_it
const SgMJD & getT0() const
bool isAttr(uint a) const
double maxConditionNumber() const
int numOfProcessedObs() const
void prepareStochasticSolution4Epoch(const SgMJD &, QList< SgParameter * > *)
void addParametersList(QList< SgParameter * > *, bool=false)
void prepare2Run(int numOfExpectedObs, const SgMJD &, const SgMJD &, const SgMJD &)
QList< SgParameter * > * stochasticParametersList()
QList< SgParameter * > * allRegularParametersList()
void processObs(const SgMJD &t, const SgVector &o_c, const SgVector &sigma)
virtual void write(LogLevel, quint32, const QString &, bool=false)
@ F_Simple
Digits: 2010/04/02 17:02:43.6.
QString toString(Format format=F_Verbose) const
static SgMJD currentMJD()
void calcNormalizedResiduals(const QList< SgVlbiObservable * > &observables, const SgTaskConfig *cfg)
const QString & getKey() const
int numProcessed(DataType dType) const
void recalcSigma2add(const SgTaskConfig *cfg)
int numUsable(DataType) const
double dof(DataType) const
void copyStatistics(SgObjectInfo *)
double wrms(DataType) const
int numTotal(DataType dType) const
double reducedChi2(DataType) const
virtual void prepare4Analysis(SgTaskManager *)=0
virtual void evaluateResiduals(SgTaskManager *)=0
virtual const SgVector & o_c()=0
virtual const SgVector & sigma()=0
virtual bool isEligible(const SgTaskConfig *)
virtual void evaluateTheoreticalValues(SgTaskManager *)=0
@ Attr_PROCESSED
the observation has been processed;
double getSolution() const
@ Attr_IS_SOLVED
for estimator use
SgParameterCfg::PMode getPolusXYMode() const
SgParameterCfg::PMode getStnCooMode() const
SgParameterCfg::PMode getClock0Mode() const
SgParameterCfg::PMode getZenithMode() const
SgParameterCfg::PMode getBlLengthMode() const
SgParameterCfg::PMode getSrcCooMode() const
SgParameterCfg::PMode getPolusUT1Mode() const
SgMJD getTMean(const SgMJD &=tZero) const
void updateParamaterLists()
virtual void run(bool=true)
virtual bool prepare4Run()
virtual const QString className()
OutliersProcessingMode getOpMode() const
bool getUseExtAPrioriSitesPositions() const
VlbiDelayType getUseDelayType() const
bool getDoWeightCorrection() const
WeightCorrectionMode getWcMode() const
bool getUseExtAPrioriSourcesPositions() const
VlbiRateType getUseRateType() const
void setDataType(VlbiDataType t)
int getActiveBandIdx() const
QList< SgObservation * > * observations_
QList< SgParameter * > * localParameters_
QList< SgParameter * > * arcParameters_
void(* longOperationMessage_)(const QString &message)
void(* longOperationStart_)(int minStep, int maxStep, const QString &message)
void(* longOperationStop_)()
int constrainTroposphericParameters()
void(* longOperationProgress_)(int step)
void(* longOperationShowStats_)(const QString &label, int numTot, int numPrc, double wrms, double chi2)
SgVlbiSession * currentSession_
int constrainStcPositionsNNR()
SgVlbiSessionInfo * currentSessionInfo_
int constrainStcPositionsNNT()
QList< SgParameter * > * pwlParameters_
QList< SgParameter * > * globalParameters_
int constrainSourcesPositions()
SgRefraction * refraction_
QList< SgParameter * > * stochasticParameters_
bool have2InteractWithGui_
void fillParameterList(QList< SgParameter * > *&, SgParameterCfg::PMode)
SgParametersDescriptor * parameters()
SessionInfosByName & sessionsByName()
QMap< QString, SgVlbiBaselineInfo * > & baselinesByName()
QMap< QString, SgVlbiStationInfo * > & stationsByName()
QList< SgVlbiObservable * > & observables()
QMap< QString, SgVlbiSourceInfo * > & sourcesByName()
@ Attr_NOT_VALID
omit the baseline;
@ Attr_SKIP_WC
do not make weight corrections for this baseline;
QList< SgVlbiObservable * > & observables()
@ Attr_FF_WEIGHTS_CORRECTED
weights have been corrected;
@ Attr_FF_PHASE_DEL_USED
station clocks or zenith delays were set.
@ Attr_HAS_IONO_CORR
the theoretical values are available;
const SgMJD & getTMean() const
int numberOfBands() const
const SgAPriories & getApStationVelocities() const
QList< SgVlbiBand * > & bands()
void setNumOfConstraints(int n)
QMap< QString, SgVlbiStationInfo * > & stationsByName()
const SgMJD & tRefer() const
void setNumOfParameters(int n)
QMap< QString, SgVlbiSourceInfo * > & sourcesByName()
QMap< QString, SgVlbiBaselineInfo * > & baselinesByName()
QList< StructModelMp > & sModel()
static double arcLength(double ra_1, double dn_1, double ra_2, double dn_2)
@ Attr_APPLY_SSM
apply the source structure model;
@ Attr_NOT_VALID
omit the source;
const Sg3dVector & getV_ea()
void setEstWetZenithDelay(double d, double s)
@ Attr_NOT_VALID
omit the station;
const Sg3dVector & getR()
void clearEstClockModel()
SgParameter * pClocks(int i)
SgParameter * pZenithDelay()
double getEstWetZenithDelay() const
const Sg3dVector & getR_ea()
void clearEstWetZenithDelay()
int getClocksModelOrder() const
double getEstClockModel(int idx) const
void setEstClockModel(int idx, double d, double s)