9 #ifndef ThePEG_HepMCConverter_H 10 #define ThePEG_HepMCConverter_H 13 #include "ThePEG/Config/ThePEG.h" 14 #include "ThePEG/EventRecord/Event.h" 15 #include "HepMCTraits.h" 31 template <
typename HepMCEventT,
typename Traits = HepMCTraits<HepMCEventT> >
38 struct HepMCConverterException:
public Exception {};
59 typedef typename Traits::PdfInfoT
PdfInfo;
80 static GenEvent *
convert(
const Event & ev,
bool nocopies =
false,
81 Energy eunit = Traits::defaultEnergyUnit(),
82 Length lunit = Traits::defaultLengthUnit());
107 convert(
const Event & ev, GenEvent & gev,
bool nocopies =
false);
127 void init(
const Event & ev,
bool nocopies);
220 #include "HepMCConverter.tcc" Traits::PdfInfoT PdfInfo
Forward typedefs from Traits class.
map< tcColinePtr, long > FlowMap
Map ThePEG colour lines to HepMC colour indices.
GenParticle * createParticle(tcPPtr p) const
Create a GenParticle from a ThePEG Particle.
GenVertexMap vmap
The mapping between temporary vertices and the created GenVertex Objects.
The HepMCConverter defines only one public static function which converts a ThePEG::Event object to a...
void join(tcPPtr parent, tcPPtr child)
Join the decay vertex of the parent with the decay vertex of the child.
static GenEvent * convert(const Event &ev, bool nocopies=false, Energy eunit=Traits::defaultEnergyUnit(), Length lunit=Traits::defaultLengthUnit())
Convert a ThePEG::Event to a HepMC::GenEvent.
The Event class contains all Particles produced in the generation of an event.
GenVertex * createVertex(Vertex *v)
Create a GenVertex from a temporary Vertex.
GenEvent * geneve
The constructed GenEvent.
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
VertexMap prov
The mapping of particles to their production vertices.
This is the main namespace within which all identifiers in ThePEG are declared.
ParticleMap pmap
The translation table between the ThePEG particles and the GenParticles.
set< tcPPtr, less< tcPPtr > > tcParticleSet
A set of transient pointers to const Particle.
Traits::EventT GenEvent
Forward typedefs from Traits class.
tcParticleSet in
Particles going in to the vertex.
FlowMap flowmap
The translation table between ThePEG ColourLine objects and HepMC Flow indices.
VertexMap decv
The mapping of particles to their decy vertices.
Help class to represent a temporary vertex which can be converted to a GenVertex. ...
QTY< 0, 1, 0 >::Type Energy
Energy.
HepMCConverter()
Default constructor is unimplemented and private and should never be used.
HepMCConverter & operator=(const HepMCConverter &)
Assignment is unimplemented and private and should never be used.
QTY< 1, 0, 0 >::Type Length
Length.
map< tcPPtr, Vertex * > VertexMap
Map ThePEG particles to vertices.
vector< Vertex > vertices
All temporary vertices created.
void setPdfInfo(const Event &e)
Create and set a PdfInfo object for the event.
Exception is the base class for all exceptions to be used in ThePEG.
void init(const Event &ev, bool nocopies)
Common init function used by the constructors.
map< tcPPtr, GenParticle * > ParticleMap
Map ThePEG particles to HepMC particles.
tcParticleSet out
Particles going out of the vertex.
map< const Vertex *, GenVertex * > GenVertexMap
Map vertices to GenVertex.
Traits::ParticleT GenParticle
Forward typedefs from Traits class.
Length lengthUnit
The length unit to be used in the GenEvent.
Traits::VertexT GenVertex
Forward typedefs from Traits class.
Energy energyUnit
The energy unit to be used in the GenEvent.