HepMC3 event record library
WriterHEPEVTZEUS.cc
1 #include "WriterHEPEVTZEUS.h"
3 namespace HepMC3
4 {
5 WriterHEPEVTZEUS::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
static double m(const int &index)
Get generated mass.
static int last_child(const int &index)
Get index of last daughter.
static double z(const int &index)
Get Z Production vertex.
void write_hepevt_particle(int index)
Write particles.
static double y(const int &index)
Get Y Production vertex.
static double t(const int &index)
Get production time.
static int status(const int &index)
Get status code.
static int event_number()
Get event number.
static double x(const int &index)
Get X Production vertex.
static double pz(const int &index)
Get Z momentum.
static double e(const int &index)
Get Energy.
GenEvent I/O serialization for HEPEVT files.
Definition: WriterHEPEVT.h:27
WriterHEPEVTZEUS(const std::string &filename)
Constructor.
std::ostream * m_stream
Output stream.
Definition: WriterHEPEVT.h:80
static double py(const int &index)
Get Y momentum.
static int first_child(const int &index)
Get index of 1st daughter.
static int id(const int &index)
Get PDG particle id.
static int first_parent(const int &index)
Get index of 1st mother.
static double px(const int &index)
Get X momentum.
static int last_parent(const int &index)
Get index of last mother.
Definition of class WriterHEPEVTZEUS.
void write_hepevt_event_header()
Write the header.
Definition of class HEPEVT_Wrapper.
static int number_entries()
Get number of entries.