6 #ifndef HEPMC_WRITERASCII_H 7 #define HEPMC_WRITERASCII_H 17 #include "HepMC/Writer.h" 18 #include "HepMC/GenEvent.h" 19 #include "HepMC/GenRunInfo.h" 25 class WriterAscii :
public Writer {
31 shared_ptr<GenRunInfo> run = shared_ptr<GenRunInfo>());
35 shared_ptr<GenRunInfo> run = shared_ptr<GenRunInfo>());
58 if (prec < 2 || prec > 24)
return;
82 if (size < 256)
return;
87 std::string
escape(
const std::string s);
WriterAscii(const std::string &filename, shared_ptr< GenRunInfo > run=shared_ptr< GenRunInfo >())
Constructor.
void write_event(const GenEvent &evt)
Write event to file.
void write_vertex(const GenVertexPtr &v)
Write vertex.
void write_string(const std::string &str)
Inline function for writing strings.
~WriterAscii()
Destructor.
std::ostream * m_stream
Output stream.
void set_precision(size_t prec)
Set output precision.
void forced_flush()
Inline function forcing flush to the output stream.
std::ofstream m_file
Output file.
bool failed()
Return status of the stream.
void allocate_buffer()
Attempts to allocate buffer of the chosen size.
void write_run_info()
Write the GenRunInfo object to file.
void write_particle(const GenParticlePtr &p, int second_field)
Write particle.
char * m_cursor
Cursor inside stream buffer.
unsigned long m_buffer_size
Buffer size.
void set_buffer_size(size_t size)
Set buffer size (in bytes)
void flush()
Inline function flushing buffer to output stream when close to buffer capacity.
int m_precision
Output precision.
void close()
Close file stream.
char * m_buffer
Stream buffer.
Definition of template class SmartPointer.
std::string escape(const std::string s)
Escape '\' and ' ' characters in string.