herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
EvtGenDecayer.h
1// -*- C++ -*-
2#ifndef Herwig_EvtGenDecayer_H
3#define Herwig_EvtGenDecayer_H
4//
5// This is the declaration of the EvtGenDecayer class.
6//
7
8#include "ThePEG/PDT/Decayer.h"
9#include "EvtGenInterface.h"
10
11namespace Herwig {
12
13using namespace ThePEG;
14
26class EvtGenDecayer: public Decayer {
27
28public:
29
34 {}
35
36public:
37
46 virtual bool accept(const DecayMode & dm) const;
47
54 virtual ParticleVector decay(const DecayMode & dm, const Particle & p) const;
56
57public:
58
66
72 void persistentInput(PersistentIStream & is, int version);
74
81 static void Init();
82
83protected:
84
90 void checkDecay(PPtr parent) const;
91
96 bool rescale(const Particle & parent,
97 const ParticleVector & children) const;
98
99protected:
100
107 virtual IBPtr clone() const;
108
113 virtual IBPtr fullclone() const;
115
116private:
117
123
124private:
125
129 EvtGenInterfacePtr evtgen_;
130
134 unsigned int check_;
135
139 unsigned int evtOpt_;
140
141};
142
143}
144
145#endif /* Herwig_EvtGenDecayer_H */
The EvtGenDecayer class is designed to allow the EvtGen decay package to be used as a Decayer in the ...
Definition: EvtGenDecayer.h:26
EvtGenDecayer & operator=(const EvtGenDecayer &)=delete
The assignment operator is private and must never be called.
EvtGenInterfacePtr evtgen_
Pointer to the EvtGen interface object.
virtual bool accept(const DecayMode &dm) const
Check if this decayer can perfom the decay specified by the given decay mode.
void checkDecay(PPtr parent) const
Method to check conservation of charge and momentum in the decay for testing only.
static void Init()
The standard Init function used to initialize the interfaces.
bool rescale(const Particle &parent, const ParticleVector &children) const
Method to rescale the momenta of the decay products if required to conserve 4-momentum.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
EvtGenDecayer()
Standard constructors.
Definition: EvtGenDecayer.h:33
virtual IBPtr clone() const
Make a simple clone of this object.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
unsigned int check_
Perform checks ?
unsigned int evtOpt_
Option for how EvtGen is used.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual ParticleVector decay(const DecayMode &dm, const Particle &p) const
Perform a decay for a given DecayMode and a given Particle instance.
-*- C++ -*-
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::Ptr< Particle >::pointer PPtr
vector< PPtr > ParticleVector