herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Decay
WeakCurrents
ScalarMesonCurrent.h
1
// -*- C++ -*-
2
//
3
// ScalarMesonCurrent.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_ScalarMesonCurrent_H
10
#define HERWIG_ScalarMesonCurrent_H
11
// This is the declaration of the ScalarMesonCurrent class.
12
13
#include "WeakDecayCurrent.h"
14
15
namespace
Herwig
{
16
using namespace
ThePEG
;
17
34
class
ScalarMesonCurrent
:
public
WeakDecayCurrent
{
35
36
public
:
37
41
ScalarMesonCurrent
();
42
43
public
:
44
51
void
persistentOutput(
PersistentOStream
& os)
const
;
52
58
void
persistentInput(
PersistentIStream
& is,
int
version);
60
64
static
void
Init();
65
66
public
:
67
85
virtual
bool
createMode(
int
icharge,
unsigned
int
imode,DecayPhaseSpaceModePtr mode,
86
unsigned
int
iloc,
unsigned
int
ires,
87
DecayPhaseSpaceChannelPtr phase,Energy upp);
88
98
virtual
tPDVector
particles(
int
icharge,
unsigned
int
imode,
int
iq,
int
ia);
100
110
virtual
vector<LorentzPolarizationVectorE>
111
current(
const
int
imode,
const
int
ichan, Energy & scale,
112
const
ParticleVector
& decay,
DecayIntegrator::MEOption
meopt)
const
;
113
119
virtual
bool
accept(vector<int>
id
);
120
127
virtual
unsigned
int
decayMode(vector<int>
id
);
128
135
virtual
void
dataBaseOutput(ofstream & os,
bool
header,
bool
create)
const
;
136
137
protected
:
138
145
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
146
151
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
153
154
protected
:
155
163
virtual
void
doinit();
165
166
private
:
167
171
ScalarMesonCurrent
& operator=(
const
ScalarMesonCurrent
&) =
delete
;
172
173
private
:
174
178
vector<long>
_id
;
179
183
vector<Energy>
_decay_constant
;
184
188
double
_thetaeta
;
189
193
unsigned
int
_initsize
;
194
195
};
196
197
}
198
199
200
#endif
/* HERWIG_ScalarMesonCurrent_H */
ThePEG::PersistentIStream
Herwig::WeakDecayCurrent
The WeakDecayCurrent class is the base class for the hadronic currents produced in weak decays...
Definition:
WeakDecayCurrent.h:57
Herwig::ScalarMesonCurrent::_id
vector< long > _id
the pdg code for the meson
Definition:
ScalarMesonCurrent.h:178
Herwig::ScalarMesonCurrent::_thetaeta
double _thetaeta
The mixing angle.
Definition:
ScalarMesonCurrent.h:188
ThePEG::PersistentOStream
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG
Herwig::ScalarMesonCurrent::_decay_constant
vector< Energy > _decay_constant
the decay constant
Definition:
ScalarMesonCurrent.h:183
Herwig::DecayIntegrator::MEOption
MEOption
Enum for the matrix element option.
Definition:
DecayIntegrator.h:79
Herwig::ScalarMesonCurrent::_initsize
unsigned int _initsize
The inital size of the arrays.
Definition:
ScalarMesonCurrent.h:193
ThePEG::tPDVector
vector< tPDPtr > tPDVector
Herwig::ScalarMesonCurrent
The weak current for the production of one (pseudo)-scalar meson.
Definition:
ScalarMesonCurrent.h:34
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::ParticleVector
vector< PPtr > ParticleVector
Herwig::ScalarMesonCurrent::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
ScalarMesonCurrent.h:145
Herwig::ScalarMesonCurrent::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
ScalarMesonCurrent.h:151
Generated on Sat Apr 11 2020 14:50:31 for Herwig by
1.8.13