herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Decay
ScalarMeson
EtaPiGammaGammaDecayer.h
1
// -*- C++ -*-
2
//
3
// EtaPiGammaGammaDecayer.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_EtaPiGammaGammaDecayer_H
10
#define HERWIG_EtaPiGammaGammaDecayer_H
11
// This is the declaration of the EtaPiGammaGammaDecayer class.
12
13
#include "Herwig/Decay/DecayIntegrator.h"
14
#include "Herwig/Decay/PhaseSpaceMode.h"
15
#include "ThePEG/StandardModel/StandardModelBase.h"
16
#include "Herwig/Utilities/Kinematics.h"
17
#include "ThePEG/Helicity/LorentzPolarizationVector.h"
18
19
namespace
Herwig
{
20
using namespace
ThePEG
;
21
63
class
EtaPiGammaGammaDecayer
:
public
DecayIntegrator
{
64
65
public
:
66
70
EtaPiGammaGammaDecayer
();
71
78
virtual
int
modeNumber
(
bool
& cc,
tcPDPtr
parent,
79
const
tPDVector
& children)
const
;
80
90
double
me2
(
const
int
ichan,
const
Particle
& part,
91
const
tPDVector
&
outgoing
,
92
const
vector<Lorentz5Momentum> & momenta,
93
MEOption
meopt)
const
;
94
98
virtual
void
constructSpinInfo
(
const
Particle
& part,
99
ParticleVector
outgoing
)
const
;
100
106
virtual
WidthCalculatorBasePtr
threeBodyMEIntegrator
(
const
DecayMode
& dm)
const
;
107
121
virtual
double
threeBodyMatrixElement
(
const
int
imode
,
const
Energy2 q2,
122
const
Energy2 s3,
const
Energy2 s2,
123
const
Energy2 s1,
const
Energy m1,
124
const
Energy m2,
const
Energy m3)
const
;
125
131
virtual
void
dataBaseOutput
(ofstream & os,
bool
header)
const
;
132
133
public
:
134
141
void
persistentOutput
(
PersistentOStream
& os)
const
;
142
148
void
persistentInput
(
PersistentIStream
& is,
int
version);
150
154
static
void
Init
();
155
156
protected
:
157
164
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
165
170
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
172
173
protected
:
174
182
virtual
void
doinit
();
183
187
virtual
void
doinitrun
();
189
190
private
:
191
195
EtaPiGammaGammaDecayer
&
operator=
(
const
EtaPiGammaGammaDecayer
&) =
delete
;
196
197
private
:
198
203
InvEnergy
_grhoomega
;
204
208
Energy
_fpi
;
209
213
Energy
_rhomass
;
214
218
Energy
_rhowidth
;
219
223
double
_grho
;
224
228
Energy
_mpi
;
229
233
double
_rhoconst
;
234
238
bool
_localparameters
;
239
243
double
_ratiofpif8
;
244
248
double
_ratiofpif0
;
249
253
double
_theta
;
254
258
double
_etamax
;
259
263
double
_etapmax
;
264
268
vector<InvEnergy2>
_dconst
;
269
273
vector<InvEnergy2>
_econst
;
274
278
mutable
RhoDMatrix
_rho
;
279
283
mutable
vector<Helicity::LorentzPolarizationVector>
_vectors
[2];
284
};
285
286
}
287
288
289
#endif
/* HERWIG_EtaPiGammaGammaDecayer_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::EtaPiGammaGammaDecayer
The EtaPiGammaGammaDecayer class implements a VMD model matrix element for taken from hep-ph/0112150...
Definition:
EtaPiGammaGammaDecayer.h:63
Herwig::EtaPiGammaGammaDecayer::_mpi
Energy _mpi
The mass of the pion.
Definition:
EtaPiGammaGammaDecayer.h:228
Herwig::EtaPiGammaGammaDecayer::_localparameters
bool _localparameters
Use local values of the mass and width.
Definition:
EtaPiGammaGammaDecayer.h:238
Herwig::EtaPiGammaGammaDecayer::_etamax
double _etamax
the maximum weights for the decay.
Definition:
EtaPiGammaGammaDecayer.h:258
Herwig::EtaPiGammaGammaDecayer::dataBaseOutput
virtual void dataBaseOutput(ofstream &os, bool header) const
Output the setup information for the particle database.
Herwig::EtaPiGammaGammaDecayer::EtaPiGammaGammaDecayer
EtaPiGammaGammaDecayer()
Default constructor.
Herwig::EtaPiGammaGammaDecayer::constructSpinInfo
virtual void constructSpinInfo(const Particle &part, ParticleVector outgoing) const
Construct the SpinInfos for the particles produced in the decay.
Herwig::EtaPiGammaGammaDecayer::operator=
EtaPiGammaGammaDecayer & operator=(const EtaPiGammaGammaDecayer &)=delete
Private and non-existent assignment operator.
Herwig::EtaPiGammaGammaDecayer::_rhomass
Energy _rhomass
The mass of the .
Definition:
EtaPiGammaGammaDecayer.h:213
Herwig::EtaPiGammaGammaDecayer::_econst
vector< InvEnergy2 > _econst
The prefactor for the function.
Definition:
EtaPiGammaGammaDecayer.h:273
Herwig::EtaPiGammaGammaDecayer::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::EtaPiGammaGammaDecayer::_rho
RhoDMatrix _rho
Spin density matrix.
Definition:
EtaPiGammaGammaDecayer.h:278
Herwig::EtaPiGammaGammaDecayer::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::EtaPiGammaGammaDecayer::Init
static void Init()
Standard Init function used to initialize the interfaces.
Herwig::EtaPiGammaGammaDecayer::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::EtaPiGammaGammaDecayer::_rhoconst
double _rhoconst
Constant for the running width calculation.
Definition:
EtaPiGammaGammaDecayer.h:233
Herwig::EtaPiGammaGammaDecayer::_etapmax
double _etapmax
the maximum weights for the decay.
Definition:
EtaPiGammaGammaDecayer.h:263
Herwig::EtaPiGammaGammaDecayer::_ratiofpif0
double _ratiofpif0
Ratios of the decay constants .
Definition:
EtaPiGammaGammaDecayer.h:248
Herwig::EtaPiGammaGammaDecayer::_rhowidth
Energy _rhowidth
The width of the .
Definition:
EtaPiGammaGammaDecayer.h:218
Herwig::EtaPiGammaGammaDecayer::modeNumber
virtual int modeNumber(bool &cc, tcPDPtr parent, const tPDVector &children) const
Which of the possible decays is required.
Herwig::EtaPiGammaGammaDecayer::_fpi
Energy _fpi
The pion decay constant, .
Definition:
EtaPiGammaGammaDecayer.h:208
Herwig::EtaPiGammaGammaDecayer::doinitrun
virtual void doinitrun()
Initialize this object to the begining of the run phase.
Herwig::EtaPiGammaGammaDecayer::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::EtaPiGammaGammaDecayer::_theta
double _theta
the mixing angle, .
Definition:
EtaPiGammaGammaDecayer.h:253
Herwig::EtaPiGammaGammaDecayer::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
EtaPiGammaGammaDecayer.h:170
Herwig::EtaPiGammaGammaDecayer::doinit
virtual void doinit()
Initialize this object after the setup phase before saving and EventGenerator to disk.
Herwig::EtaPiGammaGammaDecayer::_vectors
vector< Helicity::LorentzPolarizationVector > _vectors[2]
Polarization vectors for the photons.
Definition:
EtaPiGammaGammaDecayer.h:283
Herwig::EtaPiGammaGammaDecayer::_ratiofpif8
double _ratiofpif8
Ratios of the decay constants .
Definition:
EtaPiGammaGammaDecayer.h:243
Herwig::EtaPiGammaGammaDecayer::threeBodyMEIntegrator
virtual WidthCalculatorBasePtr threeBodyMEIntegrator(const DecayMode &dm) const
Method to return an object to calculate the 3 body partial width.
Herwig::EtaPiGammaGammaDecayer::_grhoomega
InvEnergy _grhoomega
The coupling of the to and a .
Definition:
EtaPiGammaGammaDecayer.h:203
Herwig::EtaPiGammaGammaDecayer::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
EtaPiGammaGammaDecayer.h:164
Herwig::EtaPiGammaGammaDecayer::_grho
double _grho
The coupling for the conversion of a rho to a photon, .
Definition:
EtaPiGammaGammaDecayer.h:223
Herwig::EtaPiGammaGammaDecayer::_dconst
vector< InvEnergy2 > _dconst
The prefactor for the function.
Definition:
EtaPiGammaGammaDecayer.h:268
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