herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
f1FourPiDecayer.h
1// -*- C++ -*-
2#ifndef Herwig_f1FourPiDecayer_H
3#define Herwig_f1FourPiDecayer_H
4//
5// This is the declaration of the f1FourPiDecayer class.
6//
7
8#include "DecayIntegrator.h"
9
10namespace Herwig {
11
12using namespace ThePEG;
13
21
22public:
23
28
35 virtual int modeNumber(bool & cc, tcPDPtr parent,
36 const tPDVector & children) const;
37
47 double me2(const int ichan,const Particle & part,
48 const tPDVector & outgoing,
49 const vector<Lorentz5Momentum> & momenta,
50 MEOption meopt) const;
51
55 virtual void constructSpinInfo(const Particle & part,
57
63 virtual void dataBaseOutput(ofstream & os,bool header) const;
64
71 virtual ParticleVector decay(const Particle & parent,
72 const tPDVector & children) const;
73public:
74
82
88 void persistentInput(PersistentIStream & is, int version);
90
97 static void Init();
98
99protected:
100
107 virtual IBPtr clone() const;
108
113 virtual IBPtr fullclone() const;
115
116protected:
117
125 virtual void doinit();
126
131 virtual void doinitrun();
133
134private:
135
141
142private:
143
147 double gRhoPiPi_;
148
152 Energy ga1RhoPi_;
153
157 InvEnergy gf1a1Pi_;
158
162 Energy ma1_;
163
167 Energy ga1_;
168
172 Energy mrho_;
173
177 Energy grho_;
178
179
183 vector<double> maxWeight_;
184
189
193 mutable vector<Helicity::LorentzPolarizationVector> vector_;
194
195};
196
197}
198
199#endif /* Herwig_f1FourPiDecayer_H */
Main class for Decayers implementing multi-channel phase space integration.
MEOption
Enum for the matrix element option.
Here is the documentation of the f1FourPiDecayer class.
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.
static void Init()
The standard Init function used to initialize the interfaces.
vector< Helicity::LorentzPolarizationVector > vector_
Polarization vectors.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
f1FourPiDecayer()
The default constructor.
virtual void dataBaseOutput(ofstream &os, bool header) const
Output the setup information for the particle database.
virtual ParticleVector decay(const Particle &parent, const tPDVector &children) const
For a given decay mode and a given particle instance, perform the decay and return the decay products...
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
virtual void doinitrun()
Initialize this object.
virtual IBPtr clone() const
Make a simple clone of this object.
InvEnergy gf1a1Pi_
f1-a1-pi
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual void constructSpinInfo(const Particle &part, ParticleVector outgoing) const
Construct the SpinInfos for the particles produced in the decay.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
f1FourPiDecayer & operator=(const f1FourPiDecayer &)=delete
The assignment operator is private and must never be called.
virtual int modeNumber(bool &cc, tcPDPtr parent, const tPDVector &children) const
Which of the possible decays is required.
double gRhoPiPi_
rho-pi-pi coupling
vector< double > maxWeight_
Weights for the different decay modes.
Energy ga1RhoPi_
a_1-rho-pi
RhoDMatrix rho_
Spin Density matrix.
-*- C++ -*-
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
vector< tPDPtr > tPDVector
vector< PPtr > ParticleVector
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr