herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
StoSFFDecayer.h
1// -*- C++ -*-
2#ifndef THEPEG_StoSFFDecayer_H
3#define THEPEG_StoSFFDecayer_H
4//
5// This is the declaration of the StoSFFDecayer class.
6//
7
8#include "GeneralThreeBodyDecayer.h"
9#include "ThePEG/Helicity/Vertex/AbstractSSSVertex.h"
10#include "ThePEG/Helicity/Vertex/AbstractFFSVertex.h"
11#include "ThePEG/Helicity/Vertex/AbstractRFSVertex.h"
12#include "ThePEG/Helicity/Vertex/AbstractVSSVertex.h"
13#include "ThePEG/Helicity/Vertex/AbstractFFVVertex.h"
14#include "ThePEG/Helicity/Vertex/AbstractSSTVertex.h"
15#include "ThePEG/Helicity/Vertex/AbstractFFTVertex.h"
16#include "ThePEG/Helicity/Vertex/AbstractFFSSVertex.h"
17
18namespace Herwig {
19 using namespace ThePEG;
20
29
30public:
31
41 double me2(const int ichan,const Particle & part,
42 const tPDVector & outgoing,
43 const vector<Lorentz5Momentum> & momenta,
44 MEOption meopt) const;
45
49 virtual void constructSpinInfo(const Particle & part,
51
57 virtual WidthCalculatorBasePtr threeBodyMEIntegrator(const DecayMode & dm) const;
58
59public:
60
68
74 void persistentInput(PersistentIStream & is, int version);
76
83 static void Init();
84
85protected:
86
93 virtual IBPtr clone() const;
94
99 virtual IBPtr fullclone() const;
101
102protected:
103
107 virtual void setupDiagrams(bool checkKinematics);
108
109private:
110
116
117private:
118
122 vector<pair<AbstractSSSVertexPtr, AbstractFFSVertexPtr> > sca_;
123
127 vector<pair<AbstractFFSVertexPtr, AbstractFFSVertexPtr> > fer_;
128
132 vector<pair<AbstractRFSVertexPtr, AbstractRFSVertexPtr> > RSfer_;
133
137 vector<pair<AbstractVSSVertexPtr, AbstractFFVVertexPtr> > vec_;
138
142 vector<pair<AbstractSSTVertexPtr, AbstractFFTVertexPtr> > ten_;
143
147 vector<AbstractFFSSVertexPtr> four_;
148
153
158
162 mutable pair<vector<SpinorWaveFunction>,vector<SpinorBarWaveFunction> > outspin_[3];
163};
164
165}
166
167#endif /* THEPEG_StoSFFDecayer_H */
MEOption
Enum for the matrix element option.
Here is the documentation of the GeneralThreeBodyDecayer class.
const vector< tPDPtr > & outgoing() const
Outgoing particles.
The StoSFFDecayer class provides the general matrix element for scalar decays into another scalar and...
Definition: StoSFFDecayer.h:28
pair< vector< SpinorWaveFunction >, vector< SpinorBarWaveFunction > > outspin_[3]
Spinor wavefunctions.
RhoDMatrix rho_
Spin density matrix.
double me2(const int ichan, const Particle &part, const tPDVector &outgoing, const vector< Lorentz5Momentum > &momenta, MEOption meopt) const
Return the matrix element squared for a given mode and phase-space channel.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual WidthCalculatorBasePtr threeBodyMEIntegrator(const DecayMode &dm) const
Method to return an object to calculate the 3 (or higher body) partial width.
vector< pair< AbstractVSSVertexPtr, AbstractFFVVertexPtr > > vec_
Store the vertices for vector intermediate.
vector< pair< AbstractSSTVertexPtr, AbstractFFTVertexPtr > > ten_
Store the vertices for tensor intermediate.
vector< pair< AbstractSSSVertexPtr, AbstractFFSVertexPtr > > sca_
Store the vertices for scalar intermediate.
ScalarWaveFunction swave_
Scalar wavefunction.
StoSFFDecayer & operator=(const StoSFFDecayer &)=delete
The assignment operator is private and must never be called.
static void Init()
The standard Init function used to initialize the interfaces.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
vector< pair< AbstractRFSVertexPtr, AbstractRFSVertexPtr > > RSfer_
Store the vertices for spin- fermion intermediate.
vector< AbstractFFSSVertexPtr > four_
Store the vertices for four point diagrams.
vector< pair< AbstractFFSVertexPtr, AbstractFFSVertexPtr > > fer_
Store the vertices for spin- fermion intermediate.
virtual IBPtr clone() const
Make a simple clone of this object.
virtual void setupDiagrams(bool checkKinematics)
Set up the diagrams etc.
virtual void constructSpinInfo(const Particle &part, ParticleVector outgoing) const
Construct the SpinInfos for the particles produced in the decay.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
-*- C++ -*-
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
vector< tPDPtr > tPDVector
vector< PPtr > ParticleVector