herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
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 
18 namespace Herwig {
19  using namespace ThePEG;
20 
29 
30 public:
31 
40  virtual double me2(const int ichan, const Particle & part,
41  const ParticleVector & decay, MEOption meopt) const;
42 
48  virtual WidthCalculatorBasePtr threeBodyMEIntegrator(const DecayMode & dm) const;
49 
50 public:
51 
58  void persistentOutput(PersistentOStream & os) const;
59 
65  void persistentInput(PersistentIStream & is, int version);
67 
74  static void Init();
75 
76 protected:
77 
84  virtual IBPtr clone() const;
85 
90  virtual IBPtr fullclone() const;
92 
93 protected:
94 
98  virtual void setupDiagrams(bool checkKinematics);
99 
100 private:
101 
106  StoSFFDecayer & operator=(const StoSFFDecayer &) = delete;
107 
108 private:
109 
113  vector<pair<AbstractSSSVertexPtr, AbstractFFSVertexPtr> > sca_;
114 
118  vector<pair<AbstractFFSVertexPtr, AbstractFFSVertexPtr> > fer_;
119 
123  vector<pair<AbstractRFSVertexPtr, AbstractRFSVertexPtr> > RSfer_;
124 
128  vector<pair<AbstractVSSVertexPtr, AbstractFFVVertexPtr> > vec_;
129 
133  vector<pair<AbstractSSTVertexPtr, AbstractFFTVertexPtr> > ten_;
134 
138  vector<AbstractFFSSVertexPtr> four_;
139 
143  mutable RhoDMatrix rho_;
144 
149 
153  mutable pair<vector<SpinorWaveFunction>,vector<SpinorBarWaveFunction> > outspin_[3];
154 };
155 
156 }
157 
158 #endif /* THEPEG_StoSFFDecayer_H */
vector< pair< AbstractSSTVertexPtr, AbstractFFTVertexPtr > > ten_
Store the vertices for tensor intermediate.
RhoDMatrix rho_
Spin density matrix.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
MEOption
Enum for the matrix element option.
The StoSFFDecayer class provides the general matrix element for scalar decays into another scalar and...
Definition: StoSFFDecayer.h:28
Here is the documentation of the GeneralThreeBodyDecayer class.
vector< pair< AbstractFFSVertexPtr, AbstractFFSVertexPtr > > fer_
Store the vertices for spin- fermion intermediate.
ScalarWaveFunction swave_
Scalar wavefunction.
vector< AbstractFFSSVertexPtr > four_
Store the vertices for four point diagrams.
-*- C++ -*-
vector< pair< AbstractRFSVertexPtr, AbstractRFSVertexPtr > > RSfer_
Store the vertices for spin- fermion intermediate.
vector< PPtr > ParticleVector
vector< pair< AbstractSSSVertexPtr, AbstractFFSVertexPtr > > sca_
Store the vertices for scalar intermediate.
vector< pair< AbstractVSSVertexPtr, AbstractFFVVertexPtr > > vec_
Store the vertices for vector intermediate.