herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Decay
ScalarMeson
EtaPiPiGammaDecayer.h
1
// -*- C++ -*-
2
//
3
// EtaPiPiGammaDecayer.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4
// Copyright (C) 2002-2019 The Herwig Collaboration
5
//
6
// Herwig is licenced under version 3 of the GPL, see COPYING for details.
7
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8
//
9
#ifndef HERWIG_EtaPiPiGammaDecayer_H
10
#define HERWIG_EtaPiPiGammaDecayer_H
11
// This is the declaration of the EtaPiPiGammaDecayer class.
12
13
#include "Herwig/Utilities/Kinematics.h"
14
#include "Herwig/Decay/DecayIntegrator.h"
15
#include "Herwig/Decay/PhaseSpaceMode.h"
16
#include "ThePEG/Helicity/LorentzPolarizationVector.h"
17
#include "Herwig/Decay/FormFactors/OmnesFunction.fh"
18
19
namespace
Herwig
{
20
using namespace
ThePEG
;
21
56
class
EtaPiPiGammaDecayer
:
public
DecayIntegrator
{
57
58
public
:
59
63
EtaPiPiGammaDecayer
();
64
71
virtual
int
modeNumber
(
bool
& cc,
tcPDPtr
parent,
72
const
tPDVector
& children)
const
;
73
83
double
me2
(
const
int
ichan,
const
Particle
& part,
84
const
tPDVector
&
outgoing
,
85
const
vector<Lorentz5Momentum> & momenta,
86
MEOption
meopt)
const
;
87
91
virtual
void
constructSpinInfo
(
const
Particle
& part,
92
ParticleVector
outgoing
)
const
;
93
99
virtual
WidthCalculatorBasePtr
threeBodyMEIntegrator
(
const
DecayMode
& dm)
const
;
100
114
virtual
double
threeBodyMatrixElement
(
const
int
imode
,
const
Energy2 q2,
115
const
Energy2 s3,
const
Energy2 s2,
116
const
Energy2 s1,
const
Energy m1,
117
const
Energy m2,
const
Energy m3)
const
;
118
124
virtual
void
dataBaseOutput
(ofstream & os,
bool
header)
const
;
125
126
public
:
127
134
void
persistentOutput
(
PersistentOStream
& os)
const
;
135
141
void
persistentInput
(
PersistentIStream
& is,
int
version);
143
147
static
void
Init
();
148
149
protected
:
150
157
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
158
163
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
165
166
protected
:
167
170
176
virtual
void
doinit
();
177
181
virtual
void
doinitrun
();
183
184
private
:
185
189
EtaPiPiGammaDecayer
&
operator=
(
const
EtaPiPiGammaDecayer
&) =
delete
;
190
191
private
:
192
196
Energy
_fpi
;
197
201
vector<int>
_incoming
;
202
206
vector<double>
_coupling
;
207
211
vector<double>
_maxweight
;
212
216
vector<int>
_option
;
217
221
InvEnergy2
_aconst
;
222
226
double
_cconst
;
227
231
Energy
_mrho
;
232
236
Energy
_rhowidth
;
237
241
double
_rhoconst
;
242
246
Energy
_mpi
;
247
251
bool
_localparameters
;
252
256
OmnesFunctionPtr
omnesFunction_
;
257
261
mutable
RhoDMatrix
_rho
;
262
266
mutable
vector<Helicity::LorentzPolarizationVector>
_vectors
;
267
};
268
}
269
270
#endif
/* HERWIG_EtaPiPiGammaDecayer_H */
Herwig::DecayIntegrator
Main class for Decayers implementing multi-channel phase space integration.
Definition:
DecayIntegrator.h:60
Herwig::DecayIntegrator::imode
int imode() const
The mode being used for this decay.
Definition:
DecayIntegrator.h:118
Herwig::DecayIntegrator::MEOption
MEOption
Enum for the matrix element option.
Definition:
DecayIntegrator.h:72
Herwig::EtaPiPiGammaDecayer
The EtaPiPiGammaDecayer class implements the decay of the or to using either a VMD type model or a...
Definition:
EtaPiPiGammaDecayer.h:56
Herwig::EtaPiPiGammaDecayer::_rhowidth
Energy _rhowidth
The width.
Definition:
EtaPiPiGammaDecayer.h:236
Herwig::EtaPiPiGammaDecayer::_rho
RhoDMatrix _rho
Spin densit matrix.
Definition:
EtaPiPiGammaDecayer.h:261
Herwig::EtaPiPiGammaDecayer::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
EtaPiPiGammaDecayer.h:157
Herwig::EtaPiPiGammaDecayer::_mrho
Energy _mrho
The mass.
Definition:
EtaPiPiGammaDecayer.h:231
Herwig::EtaPiPiGammaDecayer::operator=
EtaPiPiGammaDecayer & operator=(const EtaPiPiGammaDecayer &)=delete
Private and non-existent assignment operator.
Herwig::EtaPiPiGammaDecayer::threeBodyMatrixElement
virtual double threeBodyMatrixElement(const int imode, const Energy2 q2, const Energy2 s3, const Energy2 s2, const Energy2 s1, const Energy m1, const Energy m2, const Energy m3) const
The matrix element to be integrated for the three-body decays as a function of the invariant masses o...
Herwig::EtaPiPiGammaDecayer::_mpi
Energy _mpi
The .
Definition:
EtaPiPiGammaDecayer.h:246
Herwig::EtaPiPiGammaDecayer::_coupling
vector< double > _coupling
Coupling for the decay, .
Definition:
EtaPiPiGammaDecayer.h:206
Herwig::EtaPiPiGammaDecayer::dataBaseOutput
virtual void dataBaseOutput(ofstream &os, bool header) const
Output the setup information for the particle database.
Herwig::EtaPiPiGammaDecayer::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::EtaPiPiGammaDecayer::_rhoconst
double _rhoconst
Constant for the running width.
Definition:
EtaPiPiGammaDecayer.h:241
Herwig::EtaPiPiGammaDecayer::_maxweight
vector< double > _maxweight
The maximum weight.
Definition:
EtaPiPiGammaDecayer.h:211
Herwig::EtaPiPiGammaDecayer::doinitrun
virtual void doinitrun()
Initialize this object to the begining of the run phase.
Herwig::EtaPiPiGammaDecayer::Init
static void Init()
Standard Init function used to initialize the interfaces.
Herwig::EtaPiPiGammaDecayer::constructSpinInfo
virtual void constructSpinInfo(const Particle &part, ParticleVector outgoing) const
Construct the SpinInfos for the particles produced in the decay.
Herwig::EtaPiPiGammaDecayer::_cconst
double _cconst
The constants for the Omnes function form.
Definition:
EtaPiPiGammaDecayer.h:226
Herwig::EtaPiPiGammaDecayer::omnesFunction_
OmnesFunctionPtr omnesFunction_
Object calculating the Omnes function.
Definition:
EtaPiPiGammaDecayer.h:256
Herwig::EtaPiPiGammaDecayer::_vectors
vector< Helicity::LorentzPolarizationVector > _vectors
Polarization vectors for the photon.
Definition:
EtaPiPiGammaDecayer.h:266
Herwig::EtaPiPiGammaDecayer::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::EtaPiPiGammaDecayer::EtaPiPiGammaDecayer
EtaPiPiGammaDecayer()
Default constructor.
Herwig::EtaPiPiGammaDecayer::_fpi
Energy _fpi
the pion decay constant, .
Definition:
EtaPiPiGammaDecayer.h:196
Herwig::EtaPiPiGammaDecayer::threeBodyMEIntegrator
virtual WidthCalculatorBasePtr threeBodyMEIntegrator(const DecayMode &dm) const
Method to return an object to calculate the 3 body partial width.
Herwig::EtaPiPiGammaDecayer::me2
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.
Herwig::EtaPiPiGammaDecayer::modeNumber
virtual int modeNumber(bool &cc, tcPDPtr parent, const tPDVector &children) const
Which of the possible decays is required.
Herwig::EtaPiPiGammaDecayer::_aconst
InvEnergy2 _aconst
The constants for the omnes function form.
Definition:
EtaPiPiGammaDecayer.h:221
Herwig::EtaPiPiGammaDecayer::_incoming
vector< int > _incoming
the PDG code for the incoming particle
Definition:
EtaPiPiGammaDecayer.h:201
Herwig::EtaPiPiGammaDecayer::doinit
virtual void doinit()
Initialize this object after the setup phase before saving and EventGenerator to disk.
Herwig::EtaPiPiGammaDecayer::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
EtaPiPiGammaDecayer.h:163
Herwig::EtaPiPiGammaDecayer::_localparameters
bool _localparameters
Use local values of the parameters.
Definition:
EtaPiPiGammaDecayer.h:251
Herwig::EtaPiPiGammaDecayer::_option
vector< int > _option
The option for the energy dependence of the prefactor.
Definition:
EtaPiPiGammaDecayer.h:216
ThePEG::DecayMode
ThePEG::Particle
ThePEG::PersistentIStream
ThePEG::PersistentOStream
ThePEG::RhoDMatrix
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::Helicity::outgoing
outgoing
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::tPDVector
vector< tPDPtr > tPDVector
ThePEG::ParticleVector
vector< PPtr > ParticleVector
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6