herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
FtoFFFDecayer.h
1 // -*- C++ -*-
2 #ifndef HERWIG_FtoFFFDecayer_H
3 #define HERWIG_FtoFFFDecayer_H
4 //
5 // This is the declaration of the FtoFFFDecayer class.
6 //
7 
8 #include "GeneralThreeBodyDecayer.h"
9 #include "ThePEG/Helicity/Vertex/AbstractFFSVertex.h"
10 #include "ThePEG/Helicity/Vertex/AbstractFFVVertex.h"
11 #include "ThePEG/Helicity/Vertex/AbstractFFTVertex.h"
12 
13 namespace Herwig {
14 using namespace ThePEG;
15 
24 
25 public:
26 
35  virtual double me2(const int ichan, const Particle & part,
36  const ParticleVector & decay, MEOption meopt) const;
37 
43  virtual WidthCalculatorBasePtr threeBodyMEIntegrator(const DecayMode & dm) const;
44 
45 public:
46  void persistentOutput(PersistentOStream & os) const;
53 
59  void persistentInput(PersistentIStream & is, int version);
61 
68  static void Init();
69 
70 protected:
71 
78  virtual IBPtr clone() const;
79 
84  virtual IBPtr fullclone() const;
86 
87 protected:
88 
92  virtual void setupDiagrams(bool checkKinematics);
93 
94 private:
95 
100  FtoFFFDecayer & operator=(const FtoFFFDecayer &) = delete;
101 
102 private:
103 
107  vector<pair<AbstractFFSVertexPtr, AbstractFFSVertexPtr> > sca_;
108 
112  vector<pair<AbstractFFVVertexPtr, AbstractFFVVertexPtr> > vec_;
113 
117  vector<pair<AbstractFFTVertexPtr, AbstractFFTVertexPtr> > ten_;
118 
122  mutable RhoDMatrix rho_;
123 
127  mutable pair<vector<SpinorWaveFunction>,vector<SpinorBarWaveFunction> > inwave_;
128 
132  mutable pair<vector<SpinorWaveFunction>,vector<SpinorBarWaveFunction> > outwave_[3];
133 };
134 
135 }
136 
137 #endif /* HERWIG_FtoFFFDecayer_H */
pair< vector< SpinorWaveFunction >, vector< SpinorBarWaveFunction > > inwave_
Spinors for incoming particle.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
The FtoFFFDecayer class provides the general matrix elements for the decay of a (anti)fermion to thre...
Definition: FtoFFFDecayer.h:23
MEOption
Enum for the matrix element option.
RhoDMatrix rho_
Spin density matrix.
Here is the documentation of the GeneralThreeBodyDecayer class.
vector< pair< AbstractFFVVertexPtr, AbstractFFVVertexPtr > > vec_
Store the vector of FFVVertex pairs.
vector< pair< AbstractFFSVertexPtr, AbstractFFSVertexPtr > > sca_
Store the vector of FFSVertex pairs.
-*- C++ -*-
vector< PPtr > ParticleVector
vector< pair< AbstractFFTVertexPtr, AbstractFFTVertexPtr > > ten_
Store the vector of FFTVertex pairs.