herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Decay
WeakCurrents
WeakBaryonCurrent.h
1
// -*- C++ -*-
2
#ifndef Herwig_WeakBaryonCurrent_H
3
#define Herwig_WeakBaryonCurrent_H
4
//
5
// This is the declaration of the WeakBaryonCurrent class.
6
//
7
8
#include "WeakCurrent.h"
9
#include "Herwig/Decay/FormFactors/BaryonFormFactor.h"
10
#include "ThePEG/Helicity/LorentzSpinorBar.h"
11
12
namespace
Herwig
{
13
14
using namespace
ThePEG
;
15
23
class
WeakBaryonCurrent
:
public
WeakCurrent
{
24
25
public
:
26
30
WeakBaryonCurrent
();
31
32
public
:
33
54
virtual
bool
createMode
(
int
icharge,
tcPDPtr
resonance,
55
FlavourInfo
flavour,
56
unsigned
int
imode,PhaseSpaceModePtr mode,
57
unsigned
int
iloc,
int
ires,
58
PhaseSpaceChannel
phase, Energy upp );
59
68
virtual
tPDVector
particles
(
int
icharge,
unsigned
int
imode,
int
iq,
int
ia);
70
84
virtual
vector<LorentzPolarizationVectorE>
85
current
(
tcPDPtr
resonance,
86
FlavourInfo
flavour,
87
const
int
imode,
const
int
ichan,Energy & scale,
88
const
tPDVector
&
outgoing
,
89
const
vector<Lorentz5Momentum> & momenta,
90
DecayIntegrator::MEOption
meopt)
const
;
91
95
void
constructSpinInfo
(
ParticleVector
decay)
const
;
96
102
virtual
bool
accept
(vector<int>
id
);
103
109
virtual
unsigned
int
decayMode
(vector<int>
id
);
110
117
virtual
void
dataBaseOutput
(ofstream & os,
bool
header,
bool
create)
const
;
118
119
public
:
120
127
void
persistentOutput
(
PersistentOStream
& os)
const
;
128
134
void
persistentInput
(
PersistentIStream
& is,
int
version);
136
143
static
void
Init
();
144
145
protected
:
146
153
virtual
IBPtr
clone
()
const
;
154
159
virtual
IBPtr
fullclone
()
const
;
161
162
protected
:
163
171
virtual
void
doinit
();
173
174
private
:
175
180
WeakBaryonCurrent
&
operator=
(
const
WeakBaryonCurrent
&) =
delete
;
181
182
private
:
183
187
BaryonFormFactorPtr
formFactor_
;
188
189
private
:
190
194
mutable
vector<Helicity::LorentzSpinor <SqrtEnergy> >
wave_
;
195
199
mutable
vector<Helicity::LorentzSpinorBar<SqrtEnergy> >
wavebar_
;
200
201
};
202
203
}
204
205
#endif
/* Herwig_WeakBaryonCurrent_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::WeakBaryonCurrent
The WeakBaryonCurrent class is a wrapper around the BaryonFormFactor so that they can be used as a cu...
Definition:
WeakBaryonCurrent.h:23
Herwig::WeakBaryonCurrent::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::WeakBaryonCurrent::decayMode
virtual unsigned int decayMode(vector< int > id)
Returns the decay mode number for a given set of particles in the current.
Herwig::WeakBaryonCurrent::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::WeakBaryonCurrent::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::WeakBaryonCurrent::wavebar_
vector< Helicity::LorentzSpinorBar< SqrtEnergy > > wavebar_
barred spinors for the decay products
Definition:
WeakBaryonCurrent.h:199
Herwig::WeakBaryonCurrent::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::WeakBaryonCurrent::operator=
WeakBaryonCurrent & operator=(const WeakBaryonCurrent &)=delete
The assignment operator is private and must never be called.
Herwig::WeakBaryonCurrent::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::WeakBaryonCurrent::particles
virtual tPDVector particles(int icharge, unsigned int imode, int iq, int ia)
The particles produced by the current.
Herwig::WeakBaryonCurrent::formFactor_
BaryonFormFactorPtr formFactor_
The baryon form factor.
Definition:
WeakBaryonCurrent.h:187
Herwig::WeakBaryonCurrent::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::WeakBaryonCurrent::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::WeakBaryonCurrent::wave_
vector< Helicity::LorentzSpinor< SqrtEnergy > > wave_
Spinors for the decay products.
Definition:
WeakBaryonCurrent.h:194
Herwig::WeakBaryonCurrent::dataBaseOutput
virtual void dataBaseOutput(ofstream &os, bool header, bool create) const
Output the setup information for the particle database.
Herwig::WeakBaryonCurrent::constructSpinInfo
void constructSpinInfo(ParticleVector decay) const
Construct the SpinInfo for the decay products.
Herwig::WeakBaryonCurrent::WeakBaryonCurrent
WeakBaryonCurrent()
The default constructor.
Herwig::WeakBaryonCurrent::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::WeakBaryonCurrent::accept
virtual bool accept(vector< int > id)
Accept the decay.
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