Identify persistent and transient data for each class. Add new persistent data members.
Replace maps with vectors.
Allow for the possibility that a GenParticle or GenVertex may be accessed outside the GenEvent.
- GenEvent transient data:
- GenVertex* signal_process_vertex
- GenParticle* beaparticle_1
- GenParticle* beaparticle_2
- std::map< int,HepMC::GenVertex*,std::greater<int> > vertex_barcodes
- std::map< int,HepMC::GenParticle*,std::less<int> > particle_barcodes
- GenEvent persistent data:
- int signal_process_id
- int event_number
- int mpi
- double event_scale
- double alphaQCD
- double alphaQED
- WeightContainer weights
- std::vector<long> randostates
- std::vector<HepMC::GenVertex*> vertices NEW
- std::vector<HepMC::GenParticle*> particles NEW
- GenCrossSection* cross_section
- HeavyIon* heavy_ion
- PdfInfo* pdf_info
- Units::MomentumUnit momentuunit
- Units::LengthUnit position_unit
- GenVertex transient data:
- std::vector<HepMC::GenParticle*> particles_in
- std::vector<HepMC::GenParticle*> particles_out
- GenEvent* event
- GenVertex persistent data:
- FourVector position
- std::vector<size_t> particles_in_index NEW
- std::vector<size_t> particles_out_index NEW
- int id
- WeightContainer weights
- WeightContainer weights
- int barcode
- GenParticle transient data:
- GenVertex* production_vertex
- GenVertex* end_vertex
- GenEvent* parent_event NEW
- GenParticle persistent data:
- FourVector momentum
- int pdg_id
- int status
- Flow flow
- Polarization polarization
- size_t production_vertex_index NEW
- size_t end_vertex_index NEW
- int barcode
- double generated_mass