HepMC3 event record library
testSkip1.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  auto tA = chrono::steady_clock::now();
16  ReaderAsciiHepMC2 inputA("inputSkip1.hepmc");
17  if(inputA.failed()) return 1;
18  WriterAscii outputA("frominputSkip1A.hepmc");
19  if(outputA.failed()) return 2;
20 
21  int i=0;
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  if (i%10==0) outputA.write_event(evt);
31  i++;
32  evt.clear();
33  }
34  inputA.close();
35  outputA.close();
36  printf("Time taken A: %.2fms\n", chrono::duration <double, milli> (chrono::steady_clock::now()-tA).count());
37  auto tB = chrono::steady_clock::now();
38 
39  ReaderAsciiHepMC2 inputB("inputSkip1.hepmc");
40  if(inputB.failed()) return 1;
41 
42  WriterAscii outputB("frominputSkip1B.hepmc");
43  if(outputB.failed()) return 2;
44 
45  while( !inputB.failed() )
46  {
47  GenEvent evt(Units::GEV,Units::MM);
48  inputB.read_event(evt);
49  if( inputB.failed() ) {
50  printf("End of file reached. Exit.\n");
51  break;
52  }
53  outputB.write_event(evt);
54  evt.clear();
55  inputB.skip(9);
56  }
57  inputB.close();
58  outputB.close();
59  printf("Time taken B: %.2fms\n", chrono::duration <double, milli> (chrono::steady_clock::now()-tB).count());
60 
61  return COMPARE_ASCII_FILES("frominputSkip1A.hepmc","frominputSkip1B.hepmc");
62 }
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