herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Decay
WeakCurrents
VectorMesonCurrent.h
1
// -*- C++ -*-
2
//
3
// VectorMesonCurrent.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 THEPEG_VectorMesonCurrent_H
10
#define THEPEG_VectorMesonCurrent_H
11
// This is the declaration of the VectorMesonCurrent class.
12
13
#include "WeakDecayCurrent.h"
14
15
namespace
Herwig
{
16
using namespace
ThePEG
;
17
31
class
VectorMesonCurrent
:
public
WeakDecayCurrent
{
32
33
public
:
34
40
VectorMesonCurrent
();
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
VectorMesonCurrent
& operator=(
const
VectorMesonCurrent
&) =
delete
;
172
173
private
:
174
178
vector<int>
_id
;
179
183
vector<Energy2>
_decay_constant
;
184
188
unsigned
int
_initsize
;
189
};
190
191
}
192
193
194
#endif
/* THEPEG_VectorMesonCurrent_H */
Herwig::VectorMesonCurrent::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
VectorMesonCurrent.h:151
ThePEG::PersistentIStream
Herwig::WeakDecayCurrent
The WeakDecayCurrent class is the base class for the hadronic currents produced in weak decays...
Definition:
WeakDecayCurrent.h:57
Herwig::VectorMesonCurrent::_decay_constant
vector< Energy2 > _decay_constant
The decay constant.
Definition:
VectorMesonCurrent.h:183
ThePEG::PersistentOStream
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::VectorMesonCurrent
The weak current for the production of one (pseudo)-vector meson.
Definition:
VectorMesonCurrent.h:31
ThePEG
Herwig::VectorMesonCurrent::_id
vector< int > _id
The PDG code for the meson.
Definition:
VectorMesonCurrent.h:178
Herwig::DecayIntegrator::MEOption
MEOption
Enum for the matrix element option.
Definition:
DecayIntegrator.h:79
Herwig::VectorMesonCurrent::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
VectorMesonCurrent.h:145
ThePEG::tPDVector
vector< tPDPtr > tPDVector
Herwig::VectorMesonCurrent::_initsize
unsigned int _initsize
initial size of the vectors
Definition:
VectorMesonCurrent.h:188
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::ParticleVector
vector< PPtr > ParticleVector
Generated on Sat Apr 11 2020 14:50:32 for Herwig by
1.8.13