HepMC3 event record library
testIO5.cc
1 // -*- C++ -*-
2 #include "HepMC3/GenEvent.h"
3 #include "HepMC3/ReaderAscii.h"
4 #include "HepMC3/WriterAscii.h"
7 #include "HepMC3TestUtils.h"
8 #include <fstream>
9 #include <iostream> // std::ios, std::istream, std::cout
10 #include <fstream> // std::filebuf
11 using namespace HepMC3;
12 int main()
13 {
14 
15  std::filebuf isrA;
16  isrA.open("inputI05.hepmc",std::ios::in );
17  std::istream SisrA(&isrA);
18  ReaderAsciiHepMC2 inputA(SisrA);
19  if(inputA.failed()) return 1;
20  std::filebuf osrA;
21  osrA.open("frominputI05.hepmc",std::ios::out);
22  std::ostream SosrA(&osrA);
23  WriterAscii outputA(SosrA);
24  if(outputA.failed()) return 2;
25  while( !inputA.failed() )
26  {
27  GenEvent evt(Units::GEV,Units::MM);
28  inputA.read_event(evt);
29  if( inputA.failed() ) {
30  printf("End of file reached. Exit.\n");
31  break;
32  }
33  outputA.write_event(evt);
34  evt.clear();
35  }
36  inputA.close();
37  outputA.close();
38 
39  std::filebuf isrB;
40  isrB.open("frominputI05.hepmc",ios_base::in );
41  std::istream SisrB(&isrB);
42  ReaderAscii inputB(SisrB);
43  if(inputB.failed()) return 3;
44  std::filebuf osrB;
45  osrB.open ("fromfrominputI05.hepmc",ios_base::out );
46  std::ostream SosrB(&osrB);
47  WriterAsciiHepMC2 outputB(SosrB);
48  if(outputB.failed()) return 4;
49  while( !inputB.failed() )
50  {
51  GenEvent evt(Units::GEV,Units::MM);
52  inputB.read_event(evt);
53  if( inputB.failed() ) {
54  printf("End of file reached. Exit.\n");
55  break;
56  }
57  outputB.write_event(evt);
58  evt.clear();
59  }
60  inputB.close();
61  outputB.close();
62  return COMPARE_ASCII_FILES("fromfrominputI05.hepmc","inputI05.hepmc");
63 }
GenEvent I/O serialization for structured text files.
HepMC3 main namespace.
Definition: WriterDOT.h:19
GenEvent I/O parsing for structured text files.
Definition: ReaderAscii.h:27
Definition of class WriterAscii.
Parser for HepMC2 I/O files.
Definition of class ReaderAsciiHepMC2.
Stores event-related information.
Definition: GenEvent.h:42
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