HepMC3 event record library
Streamers.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // This file is part of HepMC
4 // Copyright (C) 2014-2019 The HepMC collaboration (see AUTHORS for details)
5 //
6 /**
7  * @file Streamers.cc
8  * @brief Implementation of \b methods GenEvent::Streamer and GenRunInfo::Streamer
9  *
10  */
11 
12 #include "HepMC3/GenEvent.h"
13 
16 
17 #ifdef HEPMC3_ROOTIO
18 #include "TBuffer.h"
19 #include "TClass.h"
20 #endif
21 
22 
23 namespace HepMC3 {
24 
25 #ifdef HEPMC3_ROOTIO
26 
27 void GenEvent::Streamer(TBuffer &b) {
28 
29  if (b.IsReading()) {
30 
31  GenEventData data;
32 
33  b.ReadClassBuffer(TClass::GetClass("HepMC3::GenEventData"), &data);
34 
35  read_data(data);
36 
37  } else {
38 
39  // fill the GenEventData structures
40  GenEventData data;
41  write_data(data);
42 
43  b.WriteClassBuffer(TClass::GetClass("HepMC3::GenEventData"), &data);
44  }
45 }
46 
47 
48 void GenRunInfo::Streamer(TBuffer &b) {
49 
50  if (b.IsReading()) {
51 
52  GenRunInfoData data;
53 
54  b.ReadClassBuffer(TClass::GetClass("HepMC3::GenRunInfoData"), &data);
55 
56  read_data(data);
57 
58  } else {
59 
60  // fill the GenRunInfo structures
61  GenRunInfoData data;
62  write_data(data);
63 
64  b.WriteClassBuffer(TClass::GetClass("HepMC3::GenRunInfoData"), &data);
65  }
66 }
67 
68 #endif
69 
70 } // namespace HepMC3
void write_data(GenRunInfoData &data) const
Fill GenRunInfoData object.
Definition: GenRunInfo.cc:50
Definition of struct GenEventData.
void read_data(const GenRunInfoData &data)
Fill GenRunInfo based on GenRunInfoData.
Definition: GenRunInfo.cc:83
void write_data(GenEventData &data) const
Fill GenEventData object.
Definition: GenEvent.cc:645
void read_data(const GenEventData &data)
Fill GenEvent based on GenEventData.
Definition: GenEvent.cc:703
Definition of class GenEvent.
Definition of struct GenRunInfoData.