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"; }
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.
RecoilOption recoilOption() const
The option for how to distribute recoils in the hard subsystem when taking energy to produce remnants...
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...
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.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
tcPPtr parent(tcRemPPtr remnant) const
Access the parent of a remnant.
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...
tRemPDPtr data(tcRemPPtr remnant) const
Access the RemnantData object of a remnant.
const Exception & operator=(const Exception &ex)
Assignment.
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...
virtual void fillSubSystem(tPPtr p, set< tPPtr > &sub) const
Recursively find all particles produced from an extracted parton.
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.
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...
virtual bool needsFullStep() const
Return true if this Decayer need to access the full current step when a particle is decayed...
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...
int respectDISKinematics() const
If true, do not boost a scattered lepton (and possible radiated photons) in a DIS event...
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.
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...
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.
Boost all particles in the hard subsystem.
virtual bool multiCapable() const
Return true if this decayed can extract more than one parton from a particle.
int respectDIS
If true, do not boost a scattered lepton (and possible radiated photons) in a DIS event...
RemnantDecayer()
The default constructor.
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.
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.
Ptr is a templated class to provide typedefs for pointers types ThePEG should use for a given type...
The default concrete implementation of ClassTraitsBase.
The DecayMode class describes a decay channel of a particle.
PtGPtr pTGenerator() const
An object capable of generating an intrinsic transverse momentum of the created remnants.
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.
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...
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...
const PVector & extracted(tcRemPPtr remnant) const
Access the vector of extracted particles of a remnant.
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...