herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
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 "WeakCurrent.h"
14
15
namespace
Herwig
{
16
using namespace
ThePEG
;
17
31
class
VectorMesonCurrent
:
public
WeakCurrent
{
32
33
public
:
34
38
VectorMesonCurrent
();
39
40
public
:
41
48
void
persistentOutput
(
PersistentOStream
& os)
const
;
49
55
void
persistentInput
(
PersistentIStream
& is,
int
version);
57
61
static
void
Init
();
62
63
public
:
64
85
virtual
bool
createMode
(
int
icharge,
tcPDPtr
resonance,
86
FlavourInfo
flavour,
87
unsigned
int
imode,PhaseSpaceModePtr mode,
88
unsigned
int
iloc,
int
ires,
89
PhaseSpaceChannel
phase, Energy upp );
90
100
virtual
tPDVector
particles
(
int
icharge,
unsigned
int
imode,
int
iq,
int
ia);
102
116
virtual
vector<LorentzPolarizationVectorE>
117
current
(
tcPDPtr
resonance,
118
FlavourInfo
flavour,
119
const
int
imode,
const
int
ichan,Energy & scale,
120
const
tPDVector
&
outgoing
,
121
const
vector<Lorentz5Momentum> & momenta,
122
DecayIntegrator::MEOption
meopt)
const
;
123
127
virtual
void
constructSpinInfo
(
ParticleVector
decay)
const
;
128
134
virtual
bool
accept
(vector<int>
id
);
135
142
virtual
unsigned
int
decayMode
(vector<int>
id
);
143
150
virtual
void
dataBaseOutput
(ofstream & os,
bool
header,
bool
create)
const
;
151
152
protected
:
153
160
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
161
166
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
168
169
protected
:
170
178
virtual
void
doinit
();
180
181
private
:
182
186
VectorMesonCurrent
&
operator=
(
const
VectorMesonCurrent
&) =
delete
;
187
188
private
:
189
193
vector<int>
_id
;
194
198
vector<Energy2>
_decay_constant
;
199
203
unsigned
int
_initsize
;
204
};
205
206
}
207
208
209
#endif
/* THEPEG_VectorMesonCurrent_H */
Herwig::DecayIntegrator::MEOption
MEOption
Enum for the matrix element option.
Definition:
DecayIntegrator.h:72
Herwig::PhaseSpaceChannel
This class is designed to store the information needed for a given phase-space channel for use by the...
Definition:
PhaseSpaceChannel.h:52
Herwig::VectorMesonCurrent
The weak current for the production of one (pseudo)-vector meson.
Definition:
VectorMesonCurrent.h:31
Herwig::VectorMesonCurrent::_decay_constant
vector< Energy2 > _decay_constant
The decay constant.
Definition:
VectorMesonCurrent.h:198
Herwig::VectorMesonCurrent::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
VectorMesonCurrent.h:160
Herwig::VectorMesonCurrent::VectorMesonCurrent
VectorMesonCurrent()
Default constructor.
Herwig::VectorMesonCurrent::_id
vector< int > _id
The PDG code for the meson.
Definition:
VectorMesonCurrent.h:193
Herwig::VectorMesonCurrent::Init
static void Init()
Standard Init function used to initialize the interfaces.
Herwig::VectorMesonCurrent::decayMode
virtual unsigned int decayMode(vector< int > id)
Return the decay mode number for a given set of particles in the current.
Herwig::VectorMesonCurrent::constructSpinInfo
virtual void constructSpinInfo(ParticleVector decay) const
Construct the SpinInfo for the decay products.
Herwig::VectorMesonCurrent::createMode
virtual bool createMode(int icharge, tcPDPtr resonance, FlavourInfo flavour, unsigned int imode, PhaseSpaceModePtr mode, unsigned int iloc, int ires, PhaseSpaceChannel phase, Energy upp)
Complete the construction of the decay mode for integration.classes inheriting from this one.
Herwig::VectorMesonCurrent::operator=
VectorMesonCurrent & operator=(const VectorMesonCurrent &)=delete
Private and non-existent assignment operator.
Herwig::VectorMesonCurrent::particles
virtual tPDVector particles(int icharge, unsigned int imode, int iq, int ia)
The particles produced by the current.
Herwig::VectorMesonCurrent::_initsize
unsigned int _initsize
initial size of the vectors
Definition:
VectorMesonCurrent.h:203
Herwig::VectorMesonCurrent::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::VectorMesonCurrent::accept
virtual bool accept(vector< int > id)
Accept the decay.
Herwig::VectorMesonCurrent::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::VectorMesonCurrent::current
virtual vector< LorentzPolarizationVectorE > current(tcPDPtr resonance, FlavourInfo flavour, const int imode, const int ichan, Energy &scale, const tPDVector &outgoing, const vector< Lorentz5Momentum > &momenta, DecayIntegrator::MEOption meopt) const
Hadronic current.
Herwig::VectorMesonCurrent::doinit
virtual void doinit()
Initialize this object after the setup phase before saving and EventGenerator to disk.
Herwig::VectorMesonCurrent::dataBaseOutput
virtual void dataBaseOutput(ofstream &os, bool header, bool create) const
Output the setup information for the particle database.
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:166
Herwig::WeakCurrent
The WeakCurrent class is the base class for the hadronic currents produced in weak decays.
Definition:
WeakCurrent.h:59
ThePEG::PersistentIStream
ThePEG::PersistentOStream
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
Herwig::FlavourInfo
Definition:
IsoSpin.h:46
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6