9 #ifndef ThePEG_HepMCConverter_H
10 #define ThePEG_HepMCConverter_H
13 #include <ThePEG/Config/ThePEG.h>
14 #include <ThePEG/EventRecord/Event.h>
15 #include <ThePEG/Vectors/HepMCTraits.h>
31 template <
typename HepMCEventT,
typename Traits = HepMCTraits<HepMCEventT> >
38 struct HepMCConverterException:
public Exception {};
59 typedef typename Traits::PdfInfoT
PdfInfo;
81 Energy eunit = Traits::defaultEnergyUnit(),
82 Length lunit = Traits::defaultLengthUnit());
95 Energy eunit, Length lunit);
122 Energy eunit, Length lunit);
127 void init(
const Event & ev,
bool nocopies);
226 template<>
struct HepMCTraits<HepMC::GenEvent> :
227 public HepMCTraitsBase<
228 HepMC::GenEvent, HepMC::GenParticle,
229 HepMC::GenVertex, HepMC::Polarization,
map< tcColinePtr, long > FlowMap
void join(tcPPtr parent, tcPPtr child)
GenParticle * createParticle(tcPPtr p) const
HepMCConverter & operator=(const HepMCConverter &)
GenVertex * createVertex(Vertex *v)
map< tcPPtr, Vertex * > VertexMap
vector< Vertex > vertices
static GenEvent * convert(const Event &ev, bool nocopies=false, Energy eunit=Traits::defaultEnergyUnit(), Length lunit=Traits::defaultLengthUnit())
void setPdfInfo(const Event &e)
void sortTopologically(tcPVector &allv)
void init(const Event &ev, bool nocopies)
map< tcPPtr, GenParticle * > ParticleMap
map< const Vertex *, GenVertex * > GenVertexMap
Traits::ParticleT GenParticle
Traits::VertexT GenVertex