- Class Exception
Should it be GenException? It's a HepMC thing, but not really a "gen" thing
Should it be GenException? It's a HepMC thing, but not really a "gen" thing
- Global FourVector::eta () const
Improve numerical stability
Improve numerical stability
- Global FourVector::rap () const
Improve numerical stability
Improve numerical stability
- Global GenEvent::beam_particles () const
- Change this definition to require status = 4... and in principle there don't have to be two of them
- Global GenEvent::m_event_number
Move to attributes?
Move to attributes?
- Global GenEvent::remove_particles (std::vector< GenParticlePtr > v)
- Currently the only optimization is sort by id in ascending order. Needs better optimization!
- Global GenEvent::remove_vertex (GenVertexPtr v)
Optimize. Currently each particle/vertex is erased separately
Optimize. Currently each particle/vertex is erased separately
- Global GenEvent::set_beam_particles (const GenParticlePtr &p1, const GenParticlePtr &p2)
Set/require status = 4 at the same time?
Require/set status = 4
Set/require status = 4 at the same time?
- Global GenEvent::set_beam_particles (const std::pair< GenParticlePtr, GenParticlePtr > &p)
Set/require status = 4 at the same time?
Set/require status = 4 at the same time?
- Global GenEvent::valid_beam_particles () const
- Change this definition to require status = 4... and in principle there don't have to be two of them
- Global GenHeavyIon::N_Nwounded_collisions
Describe!
Describe!
- Global GenHeavyIon::Nwounded_N_collisions
Describe!
Describe!
- Global GenHeavyIon::Nwounded_Nwounded_collisions
Describe!
Describe!
- Global GenRunInfo::weight_index (string name) const
Throw exception instead? Or return ssize_t for better signed/unsigned safety?
Throw exception instead? Or return ssize_t for better signed/unsigned safety?
- Global GenVertex::add_attribute (string name, shared_ptr< Attribute > att)
We need a way to check if there is a position on this vertex, without messing up the interface. Is has_position() too intrusive?
We need a way to check if there is a position on this vertex, without messing up the interface. Is has_position() too intrusive?
- Global GenVertex::GenEvent
Are these really needed? Friends usually indicate a problem...
Are these really needed? Friends usually indicate a problem...
- Global GenVertex::in_event () const
Needed? Wouldn't it be good enough to just rely on user testing nullness of parent_event()?
Needed? Wouldn't it be good enough to just rely on user testing nullness of parent_event()?
- Global GenVertex::parent_event () const
Should we be returning a smart ptr?
Should we be returning a smart ptr?
- Global GenVertex::position () const
We need a way to check if there is a position on this vertex, without messing up the interface. Is has_position() too intrusive?
We need a way to check if there is a position on this vertex, without messing up the interface. Is has_position() too intrusive?
- Class HEPEVT_Wrapper
Do we just make write_event and fill_next_event instead?
Do we just make write_event and fill_next_event instead?
- Global HEPEVT_Wrapper::check_hepevt_consistency (std::ostream &ostr=std::cout)
HEPEVT_Wrapper::check_hepevt_consistency unimplemented!
HEPEVT_Wrapper::check_hepevt_consistency unimplemented!
- Namespace HepMC
Add feature detection macros? (clearly version-related)
Add feature detection macros? (clearly version-related)
- Global HepMC::Relationship
Add 'family'='parents'+'children' and 'relatives'='ancestors'+'descendants'(+'siblings')?
Add 'family'='parents'+'children' and 'relatives'='ancestors'+'descendants'(+'siblings')?
- Global IO_GenEvent::m_reader
Use unique_ptr
Use unique_ptr
- Global IO_GenEvent::m_writer
Use unique_ptr
Use unique_ptr
- Class Print
This class has no state – why isn't it just a namespace with free functions?
This class has no state – why isn't it just a namespace with free functions?
- File Print.cc
- AB: Why a static class rather than some namespaced free functions?
- Global ReaderAscii::get_global (std::string name)
rewrite global attributes
rewrite global attributes
- Global ReaderAscii::m_file
Unify file/stream treatment
Unify file/stream treatment
- Global ReaderAscii::parse_particle_information (GenEvent &evt, const char *buf)
- Should be an exception
- Global ReaderAscii::read_event (GenEvent &evt)
- Should consider exceptions for reporting parsing problems more locally to the source of trouble
- Global ReaderAsciiHepMC2::parse_particle_information (const char *buf)
- barcode ignored but maybe should be put as an attribute?...
- Class Setup
Move some of the helper functions, logging, exceptions, etc. to specific files
Change to a namespace
Move some of the helper functions, logging, exceptions, etc. to specific files
Change to a namespace
- Global WriterAscii::write_event (const GenEvent &evt)
- This would be nicer as a return value of string & throw exception if there's a conversion problem...