9 #ifndef THEPEG_RemnantDecayer_H 10 #define THEPEG_RemnantDecayer_H 15 #include "ThePEG/PDT/Decayer.h" 16 #include "RemnantDecayer.fh" 17 #include "ThePEG/PDT/RemnantData.h" 18 #include "ThePEG/EventRecord/RemnantParticle.h" 19 #include "ThePEG/Handlers/PtGenerator.h" 103 Step & step)
const = 0;
168 tRemPDPtr
data(tcRemPPtr remnant)
const {
return remnant->remData; }
179 return remnant->extracted();
298 #include "ThePEG/Utilities/ClassTraits.h" 318 static string className() {
return "ThePEG::RemnantDecayer"; }
virtual bool canHandle(tcPDPtr parent, tcPDPtr extracted) const
Return true if this decayer can handle the extraction of the extracted parton from the given particle...
PersistentIStream is used to read persistent objects from a stream where they were previously written...
Ptr< PtGenerator >::pointer PtGPtr
A pointer to a PtGenerator object.
virtual bool accept(const DecayMode &dm) const
Check if this decayer can perfom the decay specified by the given decay mode.
The Particle class is used to describe an instance of a particle.
static LorentzRotation getZBoost(const LorentzMomentum &p0, const LorentzMomentum &p)
Return a small boost along the z-axis.
static AbstractClassDescription< RemnantDecayer > initRemnantDecayer
The static object used to initialize the description of this class.
RecoilOption theRecoilOption
The option for how to distribute recoils in the hard subsystem when taking energy to produce remnants...
const Exception & operator=(const Exception &ex)
Assignment.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
A concreate implementation of ClassDescriptionBase describing an abstract class with persistent data...
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual bool multiCapable() const
Return true if this decayed can extract more than one parton from a particle.
RecoilOption
Enumerate the options for how to distribute recoils in the hard subsystem when taking energy to produ...
The LorentzRotation class combine a SpinOneLorentzRotation and a spin SpinHalfLorentzRotation to prov...
TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr a...
tcPPtr parent(tcRemPPtr remnant) const
Access the parent of a remnant.
Boost copies of final state particles in hard subsystem.
This is the main namespace within which all identifiers in ThePEG are declared.
The RemnantDecayer class is the base class to be used for all decayers capable of decaying a RemnantP...
virtual tPVector getSubSystem(tcPPtr parent, tPPtr parton) const
Return the system of particles from the hard subsystem which may be used to shuffle momenta to get th...
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Boost only final state particles in hard subsystem.
Exception used if getSubSystem fails.
RecoilOption recoilOption() const
The option for how to distribute recoils in the hard subsystem when taking energy to produce remnants...
tRemPDPtr data(tcRemPPtr remnant) const
Access the RemnantData object of a remnant.
PtGPtr thePTGenerator
An object capable of generating an intrinsic transverse momentum of the created remnants.
static void Init()
The standard Init function used to initialize the interfaces.
virtual bool needsFullStep() const
Return true if this Decayer need to access the full current step when a particle is decayed...
Boost all particles in the hard subsystem.
virtual bool checkExtract(tcPPtr parent, tcPPtr extracted, const LorentzMomentum &pnew) const
Return true if this decayer can handle the extraction of the extracted parton instance from the given...
int respectDIS
If true, do not boost a scattered lepton (and possible radiated photons) in a DIS event...
RemnantDecayer()
The default constructor.
const PVector & extracted(tcRemPPtr remnant) const
Access the vector of extracted particles of a remnant.
virtual ~RemnantDecayer()
The destructor.
Exception is the base class for all exceptions to be used in ThePEG.
static tPVector decayRemnants(const tPVector &particles, Step &step)
Static function to decay al remnants among the given particles.
int respectDISKinematics() const
If true, do not boost a scattered lepton (and possible radiated photons) in a DIS event...
virtual ParticleVector decay(const DecayMode &dm, const Particle &p, Step &step) const =0
Perform a decay for a given DecayMode and a given Particle instance.
PtGPtr pTGenerator() const
An object capable of generating an intrinsic transverse momentum of the created remnants.
Ptr is a templated class to provide typedefs for pointers types ThePEG should use for a given type...
The default concrete implementation of ClassTraitsBase.
virtual void fillSubSystem(tPPtr p, set< tPPtr > &sub) const
Recursively find all particles produced from an extracted parton.
The DecayMode class describes a decay channel of a particle.
vector< tPPtr > tPVector
A vector of transient pointers to Particle objects.
Decayer is an abstract base class to specify objects modelling the decay of a particle.
vector< PPtr > ParticleVector
A vector of pointers to Particle objects.
vector< PPtr > PVector
A vector of pointers to Particle objects.
BaseClassTraits describes the base classes of the templated class.
virtual bool preInitialize() const
Return true if this object needs to be initialized before all other objects because it needs to extra...
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
The Step class contains information of all particles present after certain step in the event generati...