HepMC3 event record library
testIO8.cc
1 // -*- C++ -*-
2 //
3 // This file is part of HepMC
4 // Copyright (C) 2014-2019 The HepMC collaboration (see AUTHORS for details)
5 //
6 #include "HepMC3/GenEvent.h"
7 #include "HepMC3/ReaderAscii.h"
8 #include "HepMC3/WriterAscii.h"
11 #include "HepMC3TestUtils.h"
12 using namespace HepMC3;
13 int main()
14 {
15  ReaderAsciiHepMC2 inputA("inputIO8.hepmc");
16  if(inputA.failed()) return 1;
17  WriterAscii outputA("frominputIO8.hepmc");
18  if(outputA.failed()) return 2;
19  auto optionsA = outputA.get_options();
20  optionsA["float_printf_specifier"] = "g";
21  outputA.set_options(optionsA);
22  while( !inputA.failed() )
23  {
24  GenEvent evt(Units::GEV,Units::MM);
25  inputA.read_event(evt);
26  if( inputA.failed() ) {
27  printf("End of file reached. Exit.\n");
28  break;
29  }
30  outputA.write_event(evt);
31  evt.clear();
32  }
33  inputA.close();
34  outputA.close();
35 
36 
37  ReaderAscii inputB("frominputIO8.hepmc");
38  if(inputB.failed()) return 3;
39  WriterAsciiHepMC2 outputB("fromfrominputIO8.hepmc");
40  if(outputB.failed()) return 4;
41  auto optionsB = outputB.get_options();
42  optionsB["float_printf_specifier"] = "g";
43  outputB.set_options(optionsB);
44  while( !inputB.failed() )
45  {
46  GenEvent evt(Units::GEV,Units::MM);
47  inputB.read_event(evt);
48  if( inputB.failed() ) {
49  printf("End of file reached. Exit.\n");
50  break;
51  }
52  outputB.write_event(evt);
53  evt.clear();
54  }
55  inputB.close();
56  outputB.close();
57  return COMPARE_ASCII_FILES("fromfrominputIO8.hepmc","inputIO8.hepmc");
58 }
GenEvent I/O serialization for structured text files.
GenEvent I/O parsing for structured text files.
Definition: ReaderAscii.h:29
Definition of class WriterAscii.
Parser for HepMC2 I/O files.
Definition of class ReaderAsciiHepMC2.
Stores event-related information.
Definition: GenEvent.h:41
Definition of class ReaderAscii.
Definition of class WriterAsciiHepMC2.
int main(int argc, char **argv)
Definition of class GenEvent.
GenEvent I/O serialization for structured text files.
Definition: WriterAscii.h:25