herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Decay
VectorMeson
OniumToOniumPiPiDecayer.h
1
// -*- C++ -*-
2
//
3
// OniumToOniumPiPiDecayer.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_OniumToOniumPiPiDecayer_H
10
#define HERWIG_OniumToOniumPiPiDecayer_H
11
//
12
// This is the declaration of the OniumToOniumPiPiDecayer class.
13
//
14
15
#include "Herwig/Decay/DecayIntegrator.h"
16
#include "Herwig/Decay/DecayPhaseSpaceMode.h"
17
#include "ThePEG/Helicity/LorentzPolarizationVector.h"
18
19
namespace
Herwig
{
20
21
using namespace
ThePEG
;
22
45
class
OniumToOniumPiPiDecayer
:
public
DecayIntegrator
{
46
47
public
:
48
52
OniumToOniumPiPiDecayer
();
53
60
virtual
int
modeNumber(
bool
& cc,
tcPDPtr
parent,
61
const
tPDVector
& children)
const
;
62
71
double
me2(
const
int
ichan,
const
Particle
& part,
72
const
ParticleVector
& decay,
MEOption
meopt)
const
;
73
79
virtual
WidthCalculatorBasePtr threeBodyMEIntegrator(
const
DecayMode
& dm)
const
;
80
94
virtual
double
threeBodyMatrixElement(
const
int
imode,
const
Energy2 q2,
95
const
Energy2 s3,
const
Energy2 s2,
const
96
Energy2 s1,
const
Energy m1,
97
const
Energy m2,
const
Energy m3)
const
;
98
104
virtual
void
dataBaseOutput(ofstream & os,
bool
header)
const
;
105
106
public
:
107
114
void
persistentOutput(
PersistentOStream
& os)
const
;
115
121
void
persistentInput(
PersistentIStream
& is,
int
version);
123
130
static
void
Init();
131
132
protected
:
133
140
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
141
146
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
148
149
protected
:
150
158
virtual
void
doinit();
159
163
virtual
void
doinitrun();
165
166
private
:
167
172
OniumToOniumPiPiDecayer
& operator=(
const
OniumToOniumPiPiDecayer
&) =
delete
;
173
174
private
:
175
179
vector<long>
_incoming
;
180
184
vector<long>
_outgoing
;
185
189
vector<double>
_maxweight
;
190
194
unsigned
int
_initsize
;
195
203
vector<double>
_coupling
;
207
vector<InvEnergy2>
_reA
;
208
212
vector<InvEnergy2>
_imA
;
213
217
vector<complex<InvEnergy2> >
_cA
;
218
222
vector<InvEnergy2>
_reB
;
223
227
vector<InvEnergy2>
_imB
;
228
232
vector<complex<InvEnergy2> >
_cB
;
233
237
vector<InvEnergy2>
_reC
;
238
242
vector<InvEnergy2>
_imC
;
243
247
vector<complex<InvEnergy2> >
_cC
;
249
253
mutable
RhoDMatrix
_rho
;
254
258
mutable
vector<Helicity::LorentzPolarizationVector> _vectors[2];
259
260
};
261
262
}
263
264
#endif
/* HERWIG_OniumToOniumPiPiDecayer_H */
ThePEG::PersistentIStream
Herwig::OniumToOniumPiPiDecayer::_cC
vector< complex< InvEnergy2 > > _cC
The complex coupling.
Definition:
OniumToOniumPiPiDecayer.h:247
ThePEG::Particle
Herwig::OniumToOniumPiPiDecayer::_rho
RhoDMatrix _rho
Spin density matrix.
Definition:
OniumToOniumPiPiDecayer.h:253
Herwig::OniumToOniumPiPiDecayer::_reB
vector< InvEnergy2 > _reB
The real part of .
Definition:
OniumToOniumPiPiDecayer.h:222
Herwig::OniumToOniumPiPiDecayer::_reA
vector< InvEnergy2 > _reA
The real part of .
Definition:
OniumToOniumPiPiDecayer.h:207
ThePEG::PersistentOStream
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::OniumToOniumPiPiDecayer::_outgoing
vector< long > _outgoing
the PDG codes for the outgoing onium resonance
Definition:
OniumToOniumPiPiDecayer.h:184
Herwig::OniumToOniumPiPiDecayer::_incoming
vector< long > _incoming
the PDG codes for the incoming onium resonace
Definition:
OniumToOniumPiPiDecayer.h:179
ThePEG
Herwig::OniumToOniumPiPiDecayer::_coupling
vector< double > _coupling
The couplings for the decays.
Definition:
OniumToOniumPiPiDecayer.h:203
Herwig::OniumToOniumPiPiDecayer::_cB
vector< complex< InvEnergy2 > > _cB
The complex coupling.
Definition:
OniumToOniumPiPiDecayer.h:232
Herwig::DecayIntegrator::MEOption
MEOption
Enum for the matrix element option.
Definition:
DecayIntegrator.h:79
Herwig::OniumToOniumPiPiDecayer::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
OniumToOniumPiPiDecayer.h:140
Herwig::OniumToOniumPiPiDecayer::_imC
vector< InvEnergy2 > _imC
The imaginary part of .
Definition:
OniumToOniumPiPiDecayer.h:242
ThePEG::tPDVector
vector< tPDPtr > tPDVector
Herwig::OniumToOniumPiPiDecayer::_imB
vector< InvEnergy2 > _imB
The imaginary part of .
Definition:
OniumToOniumPiPiDecayer.h:227
Herwig::DecayIntegrator
Main class for Decayers implementing multi-channel phase space integration.
Definition:
DecayIntegrator.h:62
Herwig::OniumToOniumPiPiDecayer::_maxweight
vector< double > _maxweight
the maximum weight for the integration
Definition:
OniumToOniumPiPiDecayer.h:189
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Herwig::OniumToOniumPiPiDecayer::_initsize
unsigned int _initsize
Initial size of the vectors.
Definition:
OniumToOniumPiPiDecayer.h:194
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::DecayMode
Herwig::OniumToOniumPiPiDecayer::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
OniumToOniumPiPiDecayer.h:146
ThePEG::ParticleVector
vector< PPtr > ParticleVector
ThePEG::RhoDMatrix
Herwig::OniumToOniumPiPiDecayer::_imA
vector< InvEnergy2 > _imA
The imaginary part of .
Definition:
OniumToOniumPiPiDecayer.h:212
Herwig::OniumToOniumPiPiDecayer::_reC
vector< InvEnergy2 > _reC
The real part of .
Definition:
OniumToOniumPiPiDecayer.h:237
Herwig::OniumToOniumPiPiDecayer::_cA
vector< complex< InvEnergy2 > > _cA
The complex coupling.
Definition:
OniumToOniumPiPiDecayer.h:217
Herwig::OniumToOniumPiPiDecayer
The OniumToOniumPiPiDecayer class uses the matrix element of Brown and Cahn PRL35, 1 (1975) for the decay of onium resonaces to lighter states and pion pairs.
Definition:
OniumToOniumPiPiDecayer.h:45
Generated on Sat Apr 11 2020 14:50:31 for Herwig by
1.8.13