2 #ifndef HEPMC_STREAM_INFO_H
3 #define HEPMC_STREAM_INFO_H
12 #include "HepMC/Units.h"
17 enum known_io { gen=1, ascii, extascii, ascii_pdt, extascii_pdt };
67 bool has_key()
const {
return m_has_key; }
98 bool m_finished_first_event_io;
100 std::string m_io_genevent_start;
101 std::string m_io_ascii_start;
102 std::string m_io_extendedascii_start;
103 std::string m_io_genevent_end;
104 std::string m_io_ascii_end;
105 std::string m_io_extendedascii_end;
107 std::string m_io_ascii_pdt_start;
108 std::string m_io_extendedascii_pdt_start;
109 std::string m_io_ascii_pdt_end;
110 std::string m_io_extendedascii_pdt_end;
115 Units::MomentumUnit m_io_momentum_unit;
116 Units::LengthUnit m_io_position_unit;
118 unsigned int m_stream_id;
119 static unsigned int m_stream_counter;
121 bool m_reading_event_header;
127 #endif // HEPMC_STREAM_INFO_H
std::string IO_Ascii_PDT_End() const
IO_Ascii end particle data block key.
std::string IO_GenEvent_End() const
IO_GenEvent end event block key.
bool finished_first_event() const
Special information is processed the first time we use the IO.
void set_finished_first_event(bool b)
Special information is processed the first time we use the IO.
StreamInfo()
default constructor
Units::LengthUnit io_position_unit() const
get the I/O length units
std::string IO_Ascii_PDT_Key() const
IO_Ascii begin particle data block key.
void use_input_units(Units::MomentumUnit, Units::LengthUnit)
void set_io_type(int)
set IO type
std::string IO_Ascii_End() const
IO_Ascii end event block key.
int io_type() const
get IO type
std::string IO_ExtendedAscii_PDT_Key() const
IO_ExtendedAscii begin particle data block key.
void set_has_key(bool)
set to false if the stream does not have a file type key
Units::MomentumUnit io_momentum_unit() const
get the I/O momentum units
std::string IO_ExtendedAscii_End() const
IO_ExtendedAscii end event block key.
bool reading_event_header()
known_io
The known_io enum is used to track which type of input is being read.
std::string IO_GenEvent_Key() const
IO_GenEvent begin event block key.
StreamInfo contains extra information needed when using streaming IO.
void set_reading_event_header(bool)
set the reading_event_header flag
std::string IO_ExtendedAscii_Key() const
std::string IO_ExtendedAscii_PDT_End() const
IO_ExtendedAscii end particle data block key.
std::string IO_Ascii_Key() const