2 #ifndef HEPMC_IO_HERWIG_H
3 #define HEPMC_IO_HERWIG_H
40 #include "HepMC/IO_BaseClass.h"
41 #include "HepMC/HEPEVT_Wrapper.h"
63 void print( std::ostream& ostr = std::cout )
const;
75 {
return m_no_gaps_in_barcodes; }
88 { m_no_gaps_in_barcodes=a; }
104 int i,std::vector<GenParticle*>& hepevt_particle,
GenEvent* evt );
107 int i, std::vector<GenParticle*>& hepevt_particle,
GenEvent* evt );
110 const std::map<GenParticle*,int>& m,
GenParticle* p)
const;
122 virtual void write_event(
const GenEvent* ){}
125 IO_HERWIG(
const IO_HERWIG& ) : IO_BaseClass() {}
128 bool m_trust_mothers_before_daughters;
129 bool m_trust_both_mothers_and_daughters;
130 bool m_print_inconsistency_errors;
131 bool m_no_gaps_in_barcodes;
132 std::vector<int> m_herwig_to_pdg_id;
133 std::set<int> m_no_antiparticles;
140 {
return m_trust_both_mothers_and_daughters; }
143 {
return m_trust_mothers_before_daughters; }
146 {
return m_print_inconsistency_errors; }
149 { m_trust_both_mothers_and_daughters = b; }
152 { m_trust_mothers_before_daughters = b; }
155 { m_print_inconsistency_errors = b; }
159 #endif // HEPMC_IO_HERWIG_H
int translate_herwig_to_pdg_id(int i) const
translate particle ID
int find_in_map(const std::map< GenParticle *, int > &m, GenParticle *p) const
find this particle in the map
void set_trust_both_mothers_and_daughters(bool b=false)
define mother daughter trust rules
bool fill_next_event(GenEvent *)
get the next event
void repair_hepevt() const
make the HERWIG HEPEVT common block look like the standard
void print(std::ostream &ostr=std::cout) const
write to ostr
IO_HERWIG is used to get Herwig information.
bool no_gaps_in_barcodes() const
ask how to deal with extra non-physical pseudo particles
GenParticle * build_particle(int index)
make a particle
The GenEvent class is the core of HepMC.
all input/output classes inherit from IO_BaseClass
void remove_gaps_in_hepevt() const
deal with artifacts of repairing HEPEVT
void set_trust_mothers_before_daughters(bool b=true)
define mother daughter trust rules
void build_end_vertex(int i, std::vector< GenParticle * > &hepevt_particle, GenEvent *evt)
make a decay vertex
bool print_inconsistency_errors() const
default is true
double interfaces_to_version_number() const
this information is dubious
void set_print_inconsistency_errors(bool b=true)
decide whether or not to print inconsistency errors
bool trust_both_mothers_and_daughters() const
default is true
void set_no_gaps_in_barcodes(bool a)
bool trust_mothers_before_daughters() const
default is false
void build_production_vertex(int i, std::vector< GenParticle * > &hepevt_particle, GenEvent *evt)
make a production vertex
void zero_hepevt_entry(int i) const
zero out a HEPEVT pseudo particle
The GenParticle class contains information about generated particles.