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