diff --git a/src/FollowUp/Nomad/FStatNomad.cpp b/src/FollowUp/Nomad/FStatNomad.cpp index b9f0c4d0b71d8411d6c89956e9b68ef30978c529..706a385091f61d4e3666d36765d2d3a0ba049a10 100644 --- a/src/FollowUp/Nomad/FStatNomad.cpp +++ b/src/FollowUp/Nomad/FStatNomad.cpp @@ -682,6 +682,23 @@ int main(int argc, char *argv[]) { case FCSEARCH: { LogPrintf(LOG_NORMAL,"Perform fully-coherent search.\n"); + if (MFCSearch->SignalIsKnown) { +// MFCSearch->init_SP(FCSEARCH,MFCSearch->singleSegment()); + LogPrintf(LOG_NORMAL,"Compute signal point statistics...\n"); + MFCSearch->DoSignalSearch(FCSEARCH,MFCSearch->uvar->SemicoherentStages,MFCSearch->singleSegment()); + } + + if (MFCSearch->uvar->ComputeStartingPointStatistics) { + LogPrintf(LOG_NORMAL,"Compute starting point statistics...\n"); + MFCSearch->DoStartPointSearch(FCSEARCH,MFCSearch->uvar->SemicoherentStages,MFCSearch->singleSegment()); + } + + + if (MFCSearch->SignalIsKnown && MFCSearch->uvar->PredictFStat) { + LogPrintf(LOG_NORMAL,"Predict FStat...\n"); + MFCSearch->write_pfs_file(MFCSearch->DoPredictFStat(FCSEARCH,MFCSearch->segList()),MFCSearch->Nseg()); + } + if (MFCSearch->UseMetric()) { gsl_matrix *g = gsl_matrix_calloc(MFCSearch->DimMetric(MFCSearch->SType(),USETYPE_SEARCH),MFCSearch->DimMetric(MFCSearch->SType(),USETYPE_SEARCH)); LALSegList *segList = LocalXLALReadSegmentsFromFile(MFCSearch->segmentList()); @@ -1803,6 +1820,8 @@ INT4 FCSearch::XLALInitUserVars ( int argc, char *argv[] ) } if (SignalIsKnown) { +// for (int yyy = 0; yyy < 15; yyy++) printf("%d --> %e\n",yyy,CMDLineDirValue(uvar->Signal,yyy)); + LogPrintf(LOG_NORMAL, "The signal parameters are known, set up the signal point...\n"); SignalPoint.alpha = CMDLineDirValue(uvar->Signal,SIG_ALPHA); SignalPoint.delta = CMDLineDirValue(uvar->Signal,SIG_DELTA); SignalPoint.freq = CMDLineDirValue(uvar->Signal,SIG_FREQ); @@ -1819,6 +1838,9 @@ INT4 FCSearch::XLALInitUserVars ( int argc, char *argv[] ) XLALGPSSetREAL8(&SignalPoint.TpSSB,CMDLineDirValue(uvar->Signal,SIG_TPSSB)); SignalPoint.period = CMDLineDirValue(uvar->Signal,SIG_PERIOD); } + else { + LogPrintf(LOG_NORMAL, "The signal parameters are unknown.\n"); + } avg2F(uvar->avg2F); avg2FNseg(1); // must be set to the true number of segments BEFORE usage! diff --git a/src/FollowUp/Nomad/libFStatNomad.cpp b/src/FollowUp/Nomad/libFStatNomad.cpp index 07f7b72e3164555db28ca3cc60720de61ad718cc..9ae4aaa592615073f2c5709d066fd247e03ede32 100644 --- a/src/FollowUp/Nomad/libFStatNomad.cpp +++ b/src/FollowUp/Nomad/libFStatNomad.cpp @@ -816,7 +816,7 @@ void FStatNomad::DoStartPointSearch(INT4 fstatsearchtype, INT4 cnt, LALSegList * if (BinarySearch()) { - fprintf ( fpOut, "%.16g %.16g %.16g %.16e %.16e %.16e %.16e %.16e %.16e %.16e %.16e %.16f\n",p.freq, p.alpha, p.delta, p.f1dot, p.f2dot, p.f3dot,p.TpSSB,p.argp,p.asini,p.ecc,p.period, this_point_avg2F); + fprintf ( fpOut, "%.16g %.16g %.16g %.16e %.16e %.16e %.16e %.16e %.16e %.16e %.16e %.16f\n",p.freq, p.alpha, p.delta, p.f1dot, p.f2dot, p.f3dot,XLALGPSGetREAL8(&p.TpSSB),p.argp,p.asini,p.ecc,p.period, this_point_avg2F); } else { fprintf ( fpOut, "%.16g %.16g %.16g %.16e %.16e %.16e %.16f\n",p.freq, p.alpha, p.delta, p.f1dot, p.f2dot, p.f3dot, this_point_avg2F);