95int main(
int argc, 
char **argv)
 
  106    JParser<> zap(
"Program to compare toa data.");
 
  108    zap[
'f'] = 
make_field(inputFile,    
"two outputs of JToA");
 
  114  catch(
const exception &error) {
 
  115    FATAL(error.what() << endl);
 
  118  if (inputFile.size() != 2u) {
 
  119    FATAL(
"Wrong number of input files " << inputFile.size() << endl); 
 
  122  const size_t width = max(inputFile[0].size(), inputFile[1].size());
 
  126  for (
int i = 0; i != 2; ++i) {
 
  129      buffer[i].push_back(*in.next());
 
  132    sort(buffer[i].begin(), buffer[i].end(), compare);
 
  135  int count[] = { 0, 0 };
 
  137  for (vector<JToA>::const_iterator
 
  138         p0 = buffer[0].begin(),
 
  139         p1 = buffer[1].begin(); p0 != buffer[0].end() && 
p1 != buffer[1].end(); ) {
 
  141    for ( ; p0 != buffer[0].end() && 
p1 != buffer[1].end() && compare(*p0,*
p1); ++p0, ++count[1]) {
 
  142      DEBUG(
">> " << setw(width) << left << inputFile[0] << right << 
' ' << *p0 << endl);
 
  145    for ( ; p0 != buffer[0].end() && 
p1 != buffer[1].end() && compare(*
p1,*p0); ++
p1, ++count[1]) {
 
  146      DEBUG(
"<< " << setw(width) << left << inputFile[1] << right << 
' ' << *
p1 << endl);
 
  149    if (p0 != buffer[0].end() && 
p1 != buffer[1].end() && !compare(*p0,*
p1) && !compare(*
p1,*p0)) {
 
  153      DEBUG(setw(width) << left << inputFile[0] << right << 
' ' << *p0 << 
" \\" << endl);
 
  154      DEBUG(setw(width) << left << inputFile[1] << right << 
' ' << *
p1 << 
" / " << endl);
 
  161  STATUS(
"Number of differences / events: " << count[1] << 
" / " << count[0] << endl);
 
  163  if (buffer[0].size() != buffer[1].size()) {
 
  164    FATAL(
"Different size " << buffer[0].size() << 
' ' << buffer[1].size() << endl);
 
  168    FATAL(
"Number of differences " << count[1] << endl);