herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Decay
ScalarMeson
ScalarMesonFactorizedDecayer.h
1
// -*- C++ -*-
2
//
3
// ScalarMesonFactorizedDecayer.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_ScalarMesonFactorizedDecayer_H
10
#define HERWIG_ScalarMesonFactorizedDecayer_H
11
//
12
// This is the declaration of the ScalarMesonFactorizedDecayer class.
13
//
14
15
#include "Herwig/Decay/DecayIntegrator.h"
16
#include "Herwig/Decay/WeakCurrents/WeakDecayCurrent.h"
17
#include "Herwig/Decay/FormFactors/ScalarFormFactor.h"
18
#include "ThePEG/StandardModel/StandardModelBase.h"
19
#include "ThePEG/Helicity/LorentzPolarizationVector.h"
20
#include "Herwig/Decay/DecayPhaseSpaceMode.h"
21
#include "Herwig/Models/StandardModel/StandardCKM.h"
22
23
namespace
Herwig
{
24
using namespace
ThePEG
;
25
38
class
ScalarMesonFactorizedDecayer
:
public
DecayIntegrator
{
39
40
public
:
41
45
ScalarMesonFactorizedDecayer
();
46
47
public
:
48
57
virtual
int
modeNumber(
bool
& cc,
tcPDPtr
parent,
58
const
tPDVector
& children)
const
;
59
66
virtual
bool
accept(
tcPDPtr
parent,
const
tPDVector
& children)
const
;
67
78
virtual
double
me2(
const
int
ichan,
const
Particle
& part,
79
const
ParticleVector
& decay,
MEOption
meopt)
const
;
81
87
virtual
void
dataBaseOutput(ofstream & os,
bool
header)
const
;
88
89
public
:
90
97
void
persistentOutput(
PersistentOStream
& os)
const
;
98
104
void
persistentInput(
PersistentIStream
& is,
int
version);
106
113
static
void
Init();
114
115
protected
:
116
123
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
124
129
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
131
132
protected
:
133
141
virtual
void
doinit();
142
147
virtual
void
doinitrun();
148
158
virtual
void
rebind(
const
TranslationMap
& trans)
159
;
160
166
virtual
IVector
getReferences();
168
169
170
private
:
171
179
void
findModes(
unsigned
int
imode,vector<tPDVector> & particles,
180
vector<unsigned int> & loc,vector<bool> & cc);
181
182
private
:
183
188
ScalarMesonFactorizedDecayer
& operator=(
const
ScalarMesonFactorizedDecayer
&) =
delete
;
189
190
private
:
191
195
vector<WeakDecayCurrentPtr>
_current
;
196
200
vector<ScalarFormFactorPtr>
_form
;
201
209
double
_a1b
;
210
214
double
_a2b
;
215
219
double
_a1c
;
220
224
double
_a2c
;
226
234
vector<vector<unsigned int> >
_currentmapA
;
235
239
vector<vector<unsigned int> >
_currentmapB
;
241
249
vector<vector<unsigned int> >
_formmapA
;
250
254
vector<vector<unsigned int> >
_formmapB
;
256
259
vector<vector<unsigned int> >
_formpart
;
260
264
vector<vector<Complex> >
_CKMfact
;
265
269
vector<int>
_wgtloc
;
270
274
vector<double>
_wgtmax
;
275
279
vector<double>
_weights
;
280
284
Ptr<StandardCKM>::pointer
_ckm
;
285
289
mutable
RhoDMatrix
_rho
;
290
294
mutable
vector<vector<Helicity::LorentzPolarizationVector> >
_vectors
;
295
299
mutable
vector<vector<Helicity::LorentzTensor<double> > >
_tensors
;
300
301
};
302
303
}
304
305
#endif
/* HERWIG_ScalarMesonFactorizedDecayer_H */
Herwig::ScalarMesonFactorizedDecayer::_current
vector< WeakDecayCurrentPtr > _current
The weak decay current.
Definition:
ScalarMesonFactorizedDecayer.h:195
Herwig::ScalarMesonFactorizedDecayer::_rho
RhoDMatrix _rho
Spin density matrix.
Definition:
ScalarMesonFactorizedDecayer.h:289
Herwig::ScalarMesonFactorizedDecayer::_a2b
double _a2b
The perturbative coefficient for b decays.
Definition:
ScalarMesonFactorizedDecayer.h:214
ThePEG::PersistentIStream
ThePEG::Particle
Herwig::ScalarMesonFactorizedDecayer::_a2c
double _a2c
The perturbative coefficient for c decays.
Definition:
ScalarMesonFactorizedDecayer.h:224
ThePEG::PersistentOStream
Herwig::ScalarMesonFactorizedDecayer::_currentmapB
vector< vector< unsigned int > > _currentmapB
Second map.
Definition:
ScalarMesonFactorizedDecayer.h:239
Herwig::ScalarMesonFactorizedDecayer::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
ScalarMesonFactorizedDecayer.h:129
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::Rebinder
ThePEG
Herwig::ScalarMesonFactorizedDecayer::_wgtloc
vector< int > _wgtloc
location of the weights
Definition:
ScalarMesonFactorizedDecayer.h:269
Herwig::ScalarMesonFactorizedDecayer::_formmapB
vector< vector< unsigned int > > _formmapB
Second map.
Definition:
ScalarMesonFactorizedDecayer.h:254
Herwig::ScalarMesonFactorizedDecayer::_weights
vector< double > _weights
Weights for the different channels.
Definition:
ScalarMesonFactorizedDecayer.h:279
Herwig::ScalarMesonFactorizedDecayer::_ckm
Ptr< StandardCKM >::pointer _ckm
Pointer to the CKM object.
Definition:
ScalarMesonFactorizedDecayer.h:284
Herwig::ScalarMesonFactorizedDecayer::_a1c
double _a1c
The perturbative coefficient for c decays.
Definition:
ScalarMesonFactorizedDecayer.h:219
Herwig::ScalarMesonFactorizedDecayer::_CKMfact
vector< vector< Complex > > _CKMfact
The CKM factors.
Definition:
ScalarMesonFactorizedDecayer.h:264
Herwig::DecayIntegrator::MEOption
MEOption
Enum for the matrix element option.
Definition:
DecayIntegrator.h:79
Herwig::ScalarMesonFactorizedDecayer::_form
vector< ScalarFormFactorPtr > _form
The baryon form factor.
Definition:
ScalarMesonFactorizedDecayer.h:200
ThePEG::tPDVector
vector< tPDPtr > tPDVector
Herwig::ScalarMesonFactorizedDecayer::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
ScalarMesonFactorizedDecayer.h:123
Herwig::ScalarMesonFactorizedDecayer::_a1b
double _a1b
The perturbative coefficients.
Definition:
ScalarMesonFactorizedDecayer.h:209
Herwig::ScalarMesonFactorizedDecayer::_tensors
vector< vector< Helicity::LorentzTensor< double > > > _tensors
Polarization tensors for the decay products.
Definition:
ScalarMesonFactorizedDecayer.h:299
Herwig::DecayIntegrator
Main class for Decayers implementing multi-channel phase space integration.
Definition:
DecayIntegrator.h:62
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Herwig::ScalarMesonFactorizedDecayer::_formpart
vector< vector< unsigned int > > _formpart
Outgoing particle from the form factor.
Definition:
ScalarMesonFactorizedDecayer.h:259
Herwig::ScalarMesonFactorizedDecayer
The ScalarMesonFactorizedDecayer class is a class which combines a WeakDecayCurrent and a ScalarFormF...
Definition:
ScalarMesonFactorizedDecayer.h:38
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::ScalarMesonFactorizedDecayer::_currentmapA
vector< vector< unsigned int > > _currentmapA
Mapping of the modes to the currents.
Definition:
ScalarMesonFactorizedDecayer.h:234
Herwig::ScalarMesonFactorizedDecayer::_vectors
vector< vector< Helicity::LorentzPolarizationVector > > _vectors
Polarization vectors for the decay products.
Definition:
ScalarMesonFactorizedDecayer.h:294
ThePEG::IVector
vector< IBPtr > IVector
ThePEG::ParticleVector
vector< PPtr > ParticleVector
Herwig::ScalarMesonFactorizedDecayer::_formmapA
vector< vector< unsigned int > > _formmapA
Mapping of the modes to the form factors.
Definition:
ScalarMesonFactorizedDecayer.h:249
ThePEG::RhoDMatrix
Herwig::ScalarMesonFactorizedDecayer::_wgtmax
vector< double > _wgtmax
the maximum weights
Definition:
ScalarMesonFactorizedDecayer.h:274
Generated on Sat Apr 11 2020 14:50:31 for Herwig by
1.8.13