herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
FourBodyDecayConstructor.h
1// -*- C++ -*-
2#ifndef THEPEG_FourBodyDecayConstructor_H
3#define THEPEG_FourBodyDecayConstructor_H
4//
5// This is the declaration of the FourBodyDecayConstructor class.
6//
7
8#include "NBodyDecayConstructorBase.h"
9#include "ThePEG/Helicity/Vertex/VertexBase.h"
10#include "Herwig/Decay/General/GeneralFourBodyDecayer.fh"
11#include "PrototypeVertex.h"
12
13namespace Herwig {
14
15using namespace ThePEG;
16using Helicity::VertexBasePtr;
17
25
26public:
27
32 interOpt_(0), widthOpt_(1), particleType_(false) {}
33
40 virtual void DecayList(const set<PDPtr,MassOrdering> & particles);
41
45 virtual unsigned int numBodies() const {return 4;}
46
50 void createDecayMode(vector<NBDiagram> &,bool,double);
51
57 GeneralFourBodyDecayerPtr createDecayer(vector<NBDiagram> & diagrams,
58 bool inter, double symfac) const;
59
67 string & objname) const;
68
69public:
70
78
84 void persistentInput(PersistentIStream & is, int version);
86
93 static void Init();
94
95protected:
96
103 virtual IBPtr clone() const;
104
109 virtual IBPtr fullclone() const;
111
112private:
113
119
120private:
121
125 unsigned int interOpt_;
126
130 unsigned int widthOpt_;
131
135 vector<PDPtr> particles_;
136
141};
142
143}
144
145#endif /* THEPEG_FourBodyDecayConstructor_H */
Here is the documentation of the FourBodyDecayConstructor class.
virtual IBPtr clone() const
Make a simple clone of this object.
string DecayerClassName(tcPDPtr incoming, const OrderedParticles &outgoing, string &objname) const
Contruct the classname and object name for the Decayer.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual void DecayList(const set< PDPtr, MassOrdering > &particles)
Function used to determine allowed decaymodes, to be implemented in derived class.
FourBodyDecayConstructor & operator=(const FourBodyDecayConstructor &)=delete
The assignment operator is private and must never be called.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
unsigned int interOpt_
Option for the inclusion of intermediates.
unsigned int widthOpt_
How to treat the widths of the intermediate particles.
virtual unsigned int numBodies() const
Number of outgoing lines.
static void Init()
The standard Init function used to initialize the interfaces.
void createDecayMode(vector< NBDiagram > &, bool, double)
Create a decay mode.
GeneralFourBodyDecayerPtr createDecayer(vector< NBDiagram > &diagrams, bool inter, double symfac) const
Create the decayer.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
FourBodyDecayConstructor()
The default constructor.
vector< PDPtr > particles_
Particles to override the default list.
This is the base class for NBodyDecayConstructors.
-*- C++ -*-
multiset< PDPtr, ParticleOrdering > OrderedParticles
A set of ParticleData objects ordered as for the DecayMode's.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr