HepMC3 event record library
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
ReaderAsciiHepMC2 Class Reference

Parser for HepMC2 I/O files. More...

#include <ReaderAsciiHepMC2.h>

+ Inheritance diagram for ReaderAsciiHepMC2:
+ Collaboration diagram for ReaderAsciiHepMC2:

Public Member Functions

 ReaderAsciiHepMC2 (const std::string &filename)
 Default constructor. More...
 
 ReaderAsciiHepMC2 (std::istream &)
 The ctor to read from stdin. More...
 
 ~ReaderAsciiHepMC2 ()
 Destructor. More...
 
bool skip (const int) override
 skip events More...
 
bool read_event (GenEvent &evt) override
 Implementation of Reader::read_event. More...
 
bool failed () override
 Return status of the stream. More...
 
void close () override
 Close file stream. More...
 
std::shared_ptr< GenRunInforun_info () const
 Get the global GenRunInfo object. More...
 
void set_options (const std::map< std::string, std::string > &options)
 Set options. More...
 
std::map< std::string,
std::string > 
get_options () const
 Set options. More...
 

Protected Member Functions

void set_run_info (std::shared_ptr< GenRunInfo > run)
 Set the global GenRunInfo object. More...
 

Protected Attributes

std::map< std::string,
std::string > 
m_options
 options More...
 

Private Member Functions

int parse_event_information (GenEvent &evt, const char *buf)
 Parse event. More...
 
bool parse_units (GenEvent &evt, const char *buf)
 Parse units. More...
 
int parse_vertex_information (const char *buf)
 Parse vertex. More...
 
int parse_particle_information (const char *buf)
 Parse particle. More...
 
bool parse_weight_names (const char *buf)
 Parse weight names. More...
 
bool parse_heavy_ion (GenEvent &evt, const char *buf)
 Parse heavy ion information. More...
 
bool parse_pdf_info (GenEvent &evt, const char *buf)
 Parse pdf information. More...
 
bool parse_xs_info (GenEvent &evt, const char *buf)
 Parse pdf information. More...
 

Private Attributes

std::ifstream m_file
 Input file. More...
 
std::istream * m_stream
 For ctor when reading from stdin. More...
 
bool m_isstream
 toggles usage of m_file or m_stream More...
 
std::vector< GenVertexPtr > m_vertex_cache
 Vertex cache. More...
 
std::vector< int > m_vertex_barcodes
 Old vertex barcodes. More...
 
std::vector< GenParticlePtr > m_particle_cache
 Particle cache. More...
 
std::vector< int > m_end_vertex_barcodes
 Old end vertex barcodes. More...
 
GenEventm_event_ghost
 To save particle and verstex attributes. More...
 
std::vector< GenParticlePtr > m_particle_cache_ghost
 Particle cache for attributes. More...
 
std::vector< GenVertexPtr > m_vertex_cache_ghost
 Vertex cache for attributes. More...
 

Detailed Description

Parser for HepMC2 I/O files.

Examples:
HepMC2_reader_example.cc.

Definition at line 30 of file ReaderAsciiHepMC2.h.

Constructor & Destructor Documentation

ReaderAsciiHepMC2 ( const std::string &  filename)
ReaderAsciiHepMC2 ( std::istream &  stream)

The ctor to read from stdin.

Definition at line 32 of file ReaderAsciiHepMC2.cc.

References HEPMC3_ERROR, ReaderAsciiHepMC2::m_event_ghost, ReaderAsciiHepMC2::m_stream, and Reader::set_run_info().

Member Function Documentation

void close ( )
overridevirtual

Close file stream.

Implements Reader.

Examples:
HepMC2_reader_example.cc.

Definition at line 718 of file ReaderAsciiHepMC2.cc.

References GenEvent::clear(), ReaderAsciiHepMC2::m_event_ghost, and ReaderAsciiHepMC2::m_file.

bool failed ( )
overridevirtual

Return status of the stream.

Implements Reader.

Examples:
HepMC2_reader_example.cc.

Definition at line 716 of file ReaderAsciiHepMC2.cc.

References ReaderAsciiHepMC2::m_file, ReaderAsciiHepMC2::m_isstream, and ReaderAsciiHepMC2::m_stream.

std::map<std::string, std::string> get_options ( ) const
inlineinherited

Set options.

Definition at line 58 of file Reader.h.

References Reader::m_options.

int parse_event_information ( GenEvent evt,
const char *  buf 
)
private

Parse event.

Helper routine for parsing event information

Parameters
[out]evtEvent that will be filled with new data
[in]bufLine of text that needs to be parsed

Definition at line 296 of file ReaderAsciiHepMC2.cc.

References GenEvent::add_attribute(), HEPMC3_DEBUG, Reader::m_options, GenEvent::set_event_number(), and GenEvent::weights().

bool parse_heavy_ion ( GenEvent evt,
const char *  buf 
)
private

Parse heavy ion information.

Helper routine for parsing heavy ion information

Parameters
[out]evtEvent that will be filled with new data
[in]bufLine of text that needs to be parsed

Definition at line 626 of file ReaderAsciiHepMC2.cc.

References GenEvent::add_attribute().

int parse_particle_information ( const char *  buf)
private
bool parse_pdf_info ( GenEvent evt,
const char *  buf 
)
private

Parse pdf information.

Helper routine for parsing pdf information

Parameters
[out]evtEvent that will be filled with new data
[in]bufLine of text that needs to be parsed

Definition at line 677 of file ReaderAsciiHepMC2.cc.

References GenEvent::add_attribute().

bool parse_units ( GenEvent evt,
const char *  buf 
)
private

Parse units.

Helper routine for parsing unit information

Parameters
[out]evtEvent that will be filled with unit information
[in]bufLine of text that needs to be parsed

Definition at line 385 of file ReaderAsciiHepMC2.cc.

References HEPMC3_DEBUG, Units::length_unit(), GenEvent::length_unit(), Units::momentum_unit(), GenEvent::momentum_unit(), Units::name(), and GenEvent::set_units().

int parse_vertex_information ( const char *  buf)
private

Parse vertex.

Helper routine for parsing single event information

Parameters
[in]bufLine of text that needs to be parsed

Definition at line 405 of file ReaderAsciiHepMC2.cc.

References GenEvent::add_vertex(), HEPMC3_DEBUG, ReaderAsciiHepMC2::m_event_ghost, Reader::m_options, ReaderAsciiHepMC2::m_vertex_barcodes, ReaderAsciiHepMC2::m_vertex_cache, and ReaderAsciiHepMC2::m_vertex_cache_ghost.

bool parse_weight_names ( const char *  buf)
private

Parse weight names.

Helper routine for parsing weight names

Parameters
[in]bufLine of text that needs to be parsed

Definition at line 592 of file ReaderAsciiHepMC2.cc.

References Reader::run_info().

bool parse_xs_info ( GenEvent evt,
const char *  buf 
)
private

Parse pdf information.

Helper routine for parsing cross-section information

Parameters
[out]evtEvent that will be filled with new data
[in]bufLine of text that needs to be parsed

Definition at line 576 of file ReaderAsciiHepMC2.cc.

References GenEvent::add_attribute().

bool read_event ( GenEvent evt)
overridevirtual
std::shared_ptr<GenRunInfo> run_info ( ) const
inlineinherited

Get the global GenRunInfo object.

Examples:
LHEF_example_cat.cc.

Definition at line 44 of file Reader.h.

References Reader::m_run_info.

void set_options ( const std::map< std::string, std::string > &  options)
inlineinherited

Set options.

Definition at line 53 of file Reader.h.

References Reader::m_options.

void set_run_info ( std::shared_ptr< GenRunInfo run)
inlineprotectedinherited

Set the global GenRunInfo object.

Definition at line 64 of file Reader.h.

References Reader::m_run_info.

bool skip ( const int  n)
overridevirtual

Field Documentation

std::vector<int> m_end_vertex_barcodes
private

Old end vertex barcodes.

Definition at line 136 of file ReaderAsciiHepMC2.h.

GenEvent* m_event_ghost
private

To save particle and verstex attributes.

Definition at line 138 of file ReaderAsciiHepMC2.h.

std::ifstream m_file
private

Input file.

Definition at line 128 of file ReaderAsciiHepMC2.h.

bool m_isstream
private

toggles usage of m_file or m_stream

Definition at line 130 of file ReaderAsciiHepMC2.h.

std::map<std::string, std::string> m_options
protectedinherited

options

Definition at line 68 of file Reader.h.

std::vector<GenParticlePtr> m_particle_cache
private

Particle cache.

Definition at line 135 of file ReaderAsciiHepMC2.h.

std::vector<GenParticlePtr> m_particle_cache_ghost
private

Particle cache for attributes.

Definition at line 139 of file ReaderAsciiHepMC2.h.

std::istream* m_stream
private

For ctor when reading from stdin.

Definition at line 129 of file ReaderAsciiHepMC2.h.

std::vector<int> m_vertex_barcodes
private

Old vertex barcodes.

Definition at line 133 of file ReaderAsciiHepMC2.h.

std::vector<GenVertexPtr> m_vertex_cache
private

Vertex cache.

Definition at line 132 of file ReaderAsciiHepMC2.h.

std::vector<GenVertexPtr> m_vertex_cache_ghost
private

Vertex cache for attributes.

Definition at line 140 of file ReaderAsciiHepMC2.h.


The documentation for this class was generated from the following files: