HepMC3 event record library
WriterHEPEVTZEUS.cc
1#include "WriterHEPEVTZEUS.h"
3namespace HepMC3
4{
5WriterHEPEVTZEUS::WriterHEPEVTZEUS(const std::string &filename):WriterHEPEVT(filename) {}
7{
8 char buf[512];//Note: the format is fixed, so no reason for complicatied tratment
9 char* cursor=&(buf[0]);
10 cursor +=sprintf(cursor," E % 12i% 12i% 12i\n",HEPEVT_Wrapper::event_number(),0,HEPEVT_Wrapper::number_entries());
11 unsigned long length = cursor - &(buf[0]);
12 m_stream->write( buf, length );
13}
15{
16 char buf[512];//Note: the format is fixed, so no reason for complicatied tratment
17 char* cursor=&(buf[0]);
18 cursor +=sprintf(cursor,"% 12i% 8i",HEPEVT_Wrapper::status(index), HEPEVT_Wrapper::id(index));
19 cursor +=sprintf(cursor,"% 8i% 8i",HEPEVT_Wrapper::first_parent(index),HEPEVT_Wrapper::last_parent(index));
20 cursor +=sprintf(cursor,"% 8i% 8i",HEPEVT_Wrapper::first_child(index),HEPEVT_Wrapper::last_child(index));
21 cursor +=sprintf(cursor, "% 19.11E% 19.11E% 19.11E% 19.11E% 19.11E\n",HEPEVT_Wrapper::px(index),HEPEVT_Wrapper::py(index),HEPEVT_Wrapper::pz(index),HEPEVT_Wrapper::e(index),HEPEVT_Wrapper::m(index));
22 cursor +=sprintf(cursor, "%-52s% 19.11E% 19.11E% 19.11E% 19.11E% 19.11E\n"," ",HEPEVT_Wrapper::x(index),HEPEVT_Wrapper::y(index),HEPEVT_Wrapper::z(index),HEPEVT_Wrapper::t(index),0.0);
23 unsigned long length = cursor - &(buf[0]);
24 m_stream->write( buf, length );
25}
26}// namespace HepMC3
Definition of class HEPEVT_Wrapper.
Definition of class WriterHEPEVTZEUS.
static double pz(const int &index)
Get Z momentum.
static int last_child(const int &index)
Get index of last daughter.
static double py(const int &index)
Get Y momentum.
static double m(const int &index)
Get generated mass.
static double y(const int &index)
Get Y Production vertex.
static double t(const int &index)
Get production time.
static int last_parent(const int &index)
Get index of last mother.
static double e(const int &index)
Get Energy.
static double z(const int &index)
Get Z Production vertex.
static double x(const int &index)
Get X Production vertex.
static int first_child(const int &index)
Get index of 1st daughter.
static int event_number()
Get event number.
static int status(const int &index)
Get status code.
static double px(const int &index)
Get X momentum.
static int first_parent(const int &index)
Get index of 1st mother.
static int number_entries()
Get number of entries.
static int id(const int &index)
Get PDG particle id.
void write_hepevt_event_header()
Write the header.
void write_hepevt_particle(int index)
Write particles.
WriterHEPEVTZEUS(const std::string &filename)
Constructor.
GenEvent I/O serialization for HEPEVT files.
Definition: WriterHEPEVT.h:28
std::ostream * m_stream
Output stream.
Definition: WriterHEPEVT.h:78
HepMC3 main namespace.