10 #include "application.hh" 18 LOGGER(
mlog,
"Monarch2TimeCheck" );
20 int main(
const int argc,
const char** argv )
22 scarab::main_app theMain(
false );
24 std::string tInputFilename, tOutputFilename;
26 theMain.add_option(
"InputFilename", tInputFilename,
"Input egg file" )->required();
27 theMain.add_option(
"OutputFilename", tOutputFilename,
"Output text file" )->required();
29 CLI11_PARSE( theMain, argc, argv );
31 ofstream tOutput( tOutputFilename );
32 if( tOutput.is_open() == false )
34 LERROR(
mlog,
"could not open output file!" );
39 tReadTest->ReadHeader();
41 const M2Header* tReadHeader = tReadTest->GetHeader();
42 LINFO(
mlog, *tReadHeader );
50 tReadRecord = tReadTest->GetRecordSeparateOne();
54 tReadRecord = tReadTest->GetRecordSeparateOne();
58 tReadRecord = tReadTest->GetRecordInterleaved();
66 unsigned long long tRecordCount = 0;
67 unsigned long long tAcquisitionCount = 0;
74 if (! tReadTest->ReadRecord())
76 LERROR(
mlog,
"No records in the file" );
80 tAcquisitionCount = 1;
81 tNSTimeInRunClock = tReadRecord->
fTime;
82 tNSTimeInRunBinsCorr = tNSTimeInRunClock;
83 tNSTimeInRunBins = tNSTimeInRunClock;
85 tOutput << tRecordCount <<
'\t' << tNSTimeInRunClock <<
'\t' << tNSTimeInRunBins <<
'\t' << tNSTimeInRunBinsCorr <<
'\n';
87 while( tReadTest->ReadRecord() != false )
89 tRecordCount = tRecordCount + 1;
91 tNSTimeInRunClock = tReadRecord->
fTime;
95 tAcquisitionCount = tAcquisitionCount + 1;
96 tNSTimeInRunBinsCorr = tNSTimeInRunClock;
100 tNSTimeInRunBinsCorr += tRecordSize * tBinWidthNS;
102 tNSTimeInRunBins += tRecordSize * tBinWidthNS;
104 tOutput << tRecordCount <<
'\t' << tNSTimeInRunClock <<
'\t' << tNSTimeInRunBins <<
'\t' << tNSTimeInRunBinsCorr <<
'\n';
108 LINFO(
mlog,
"record count <" << tRecordCount <<
">" );
109 LINFO(
mlog,
"acquisition count <" << tAcquisitionCount <<
">" );
115 return RETURN_SUCCESS;
static scarab::logger mlog("Monarch2TimeCheck")
static const FormatModeType sFormatMultiSeparate
AcquisitionIdType fAcquisitionId
int main(const int argc, const char **argv)
static const FormatModeType sFormatMultiInterleaved
static const Monarch2 * OpenForReading(const std::string &filename)