herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
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 "WeakCurrent.h"
14
15
namespace
Herwig
{
16
using namespace
ThePEG
;
17
34
class
ScalarMesonCurrent
:
public
WeakCurrent
{
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
88
virtual
bool
createMode
(
int
icharge,
tcPDPtr
resonance,
89
FlavourInfo
flavour,
90
unsigned
int
imode,PhaseSpaceModePtr mode,
91
unsigned
int
iloc,
int
ires,
92
PhaseSpaceChannel
phase, Energy upp );
93
103
virtual
tPDVector
particles
(
int
icharge,
unsigned
int
imode,
int
iq,
int
ia);
105
119
virtual
vector<LorentzPolarizationVectorE>
120
current
(
tcPDPtr
resonance,
121
FlavourInfo
flavour,
122
const
int
imode,
const
int
ichan,Energy & scale,
123
const
tPDVector
&
outgoing
,
124
const
vector<Lorentz5Momentum> & momenta,
125
DecayIntegrator::MEOption
meopt)
const
;
126
132
virtual
bool
accept
(vector<int>
id
);
133
140
virtual
unsigned
int
decayMode
(vector<int>
id
);
141
148
virtual
void
dataBaseOutput
(ofstream & os,
bool
header,
bool
create)
const
;
149
150
protected
:
151
158
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
159
164
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
166
167
protected
:
168
176
virtual
void
doinit
();
178
179
private
:
180
184
ScalarMesonCurrent
&
operator=
(
const
ScalarMesonCurrent
&) =
delete
;
185
186
private
:
187
191
vector<long>
_id
;
192
196
vector<Energy>
_decay_constant
;
197
201
double
_thetaeta
;
202
206
unsigned
int
_initsize
;
207
208
};
209
210
}
211
212
213
#endif
/* HERWIG_ScalarMesonCurrent_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::ScalarMesonCurrent
The weak current for the production of one (pseudo)-scalar meson.
Definition:
ScalarMesonCurrent.h:34
Herwig::ScalarMesonCurrent::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::ScalarMesonCurrent::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
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:164
Herwig::ScalarMesonCurrent::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
ScalarMesonCurrent.h:158
Herwig::ScalarMesonCurrent::_initsize
unsigned int _initsize
The inital size of the arrays.
Definition:
ScalarMesonCurrent.h:206
Herwig::ScalarMesonCurrent::particles
virtual tPDVector particles(int icharge, unsigned int imode, int iq, int ia)
The particles produced by the current.
Herwig::ScalarMesonCurrent::operator=
ScalarMesonCurrent & operator=(const ScalarMesonCurrent &)=delete
Private and non-existent assignment operator.
Herwig::ScalarMesonCurrent::doinit
virtual void doinit()
Initialize this object after the setup phase before saving and EventGenerator to disk.
Herwig::ScalarMesonCurrent::Init
static void Init()
Standard Init function used to initialize the interfaces.
Herwig::ScalarMesonCurrent::_thetaeta
double _thetaeta
The mixing angle.
Definition:
ScalarMesonCurrent.h:201
Herwig::ScalarMesonCurrent::_id
vector< long > _id
the pdg code for the meson
Definition:
ScalarMesonCurrent.h:191
Herwig::ScalarMesonCurrent::decayMode
virtual unsigned int decayMode(vector< int > id)
Return the decay mode number for a given set of particles in the current.
Herwig::ScalarMesonCurrent::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::ScalarMesonCurrent::accept
virtual bool accept(vector< int > id)
Accept the decay.
Herwig::ScalarMesonCurrent::_decay_constant
vector< Energy > _decay_constant
the decay constant
Definition:
ScalarMesonCurrent.h:196
Herwig::ScalarMesonCurrent::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::ScalarMesonCurrent::ScalarMesonCurrent
ScalarMesonCurrent()
Default constructor.
Herwig::ScalarMesonCurrent::dataBaseOutput
virtual void dataBaseOutput(ofstream &os, bool header, bool create) const
Output the setup information for the particle database.
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::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