herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Decay
WeakCurrents
PionPhotonCurrent.h
1
// -*- C++ -*-
2
#ifndef Herwig_PionPhotonCurrent_H
3
#define Herwig_PionPhotonCurrent_H
4
//
5
// This is the declaration of the PionPhotonCurrent class.
6
//
7
8
#include "WeakCurrent.h"
9
10
namespace
Herwig
{
11
12
using namespace
ThePEG
;
13
26
class
PionPhotonCurrent
:
public
WeakCurrent
{
27
28
public
:
29
33
PionPhotonCurrent
();
34
35
public
:
36
57
virtual
bool
createMode
(
int
icharge,
tcPDPtr
resonance,
58
FlavourInfo
flavour,
59
unsigned
int
imode,PhaseSpaceModePtr mode,
60
unsigned
int
iloc,
int
ires,
61
PhaseSpaceChannel
phase, Energy upp );
62
72
virtual
tPDVector
particles
(
int
icharge,
unsigned
int
imode,
int
iq,
int
ia);
74
88
virtual
vector<LorentzPolarizationVectorE>
89
current
(
tcPDPtr
resonance,
90
FlavourInfo
flavour,
91
const
int
imode,
const
int
ichan,Energy & scale,
92
const
tPDVector
&
outgoing
,
93
const
vector<Lorentz5Momentum> & momenta,
94
DecayIntegrator::MEOption
meopt)
const
;
95
99
virtual
void
constructSpinInfo
(
ParticleVector
decay)
const
;
100
106
virtual
bool
accept
(vector<int>
id
);
107
114
virtual
unsigned
int
decayMode
(vector<int>
id
);
115
122
virtual
void
dataBaseOutput
(ofstream & os,
bool
header,
bool
create)
const
;
123
124
public
:
125
132
void
persistentOutput
(
PersistentOStream
& os)
const
;
133
139
void
persistentInput
(
PersistentIStream
& is,
int
version);
141
148
static
void
Init
();
149
150
protected
:
151
158
virtual
IBPtr
clone
()
const
;
159
164
virtual
IBPtr
fullclone
()
const
;
166
167
protected
:
168
176
virtual
void
doinit
();
178
179
private
:
180
185
PionPhotonCurrent
&
operator=
(
const
PionPhotonCurrent
&) =
delete
;
186
187
private
:
188
192
vector<Energy>
resMasses_
;
193
197
vector<Energy>
resWidths_
;
198
202
vector<InvEnergy>
amp_
;
203
207
vector<double>
phase_
;
208
212
vector<complex<InvEnergy> >
couplings_
;
213
217
Energy
mpi_
;
218
};
219
220
}
221
222
#endif
/* Herwig_PionPhotonCurrent_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::PionPhotonCurrent
The PionPhotonCurrent class implements the decay current for via intermediate .
Definition:
PionPhotonCurrent.h:26
Herwig::PionPhotonCurrent::resMasses_
vector< Energy > resMasses_
Mass for the resonances.
Definition:
PionPhotonCurrent.h:192
Herwig::PionPhotonCurrent::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::PionPhotonCurrent::constructSpinInfo
virtual void constructSpinInfo(ParticleVector decay) const
Construct the SpinInfo for the decay products.
Herwig::PionPhotonCurrent::PionPhotonCurrent
PionPhotonCurrent()
The default constructor.
Herwig::PionPhotonCurrent::dataBaseOutput
virtual void dataBaseOutput(ofstream &os, bool header, bool create) const
Output the setup information for the particle database.
Herwig::PionPhotonCurrent::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::PionPhotonCurrent::operator=
PionPhotonCurrent & operator=(const PionPhotonCurrent &)=delete
The assignment operator is private and must never be called.
Herwig::PionPhotonCurrent::phase_
vector< double > phase_
Amplitudes for couplings for the resonances.
Definition:
PionPhotonCurrent.h:207
Herwig::PionPhotonCurrent::amp_
vector< InvEnergy > amp_
Amplitudes for couplings for the resonances.
Definition:
PionPhotonCurrent.h:202
Herwig::PionPhotonCurrent::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::PionPhotonCurrent::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::PionPhotonCurrent::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::PionPhotonCurrent::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::PionPhotonCurrent::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::PionPhotonCurrent::couplings_
vector< complex< InvEnergy > > couplings_
Couplings for the resonances.
Definition:
PionPhotonCurrent.h:212
Herwig::PionPhotonCurrent::particles
virtual tPDVector particles(int icharge, unsigned int imode, int iq, int ia)
The particles produced by the current.
Herwig::PionPhotonCurrent::mpi_
Energy mpi_
The pion mass.
Definition:
PionPhotonCurrent.h:217
Herwig::PionPhotonCurrent::accept
virtual bool accept(vector< int > id)
Accept the decay.
Herwig::PionPhotonCurrent::resWidths_
vector< Energy > resWidths_
Widths for the resonances.
Definition:
PionPhotonCurrent.h:197
Herwig::PionPhotonCurrent::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::PionPhotonCurrent::decayMode
virtual unsigned int decayMode(vector< int > id)
Return the decay mode number for a given set of particles in the current.
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