herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Decay
WeakCurrents
KPiKStarCurrent.h
1
// -*- C++ -*-
2
//
3
// KPiKStarCurrent.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_KPiKStarCurrent_H
10
#define HERWIG_KPiKStarCurrent_H
11
// This is the declaration of the KPiKStarCurrent class.
12
13
#include "WeakCurrent.h"
14
#include "ThePEG/PDT/EnumParticles.h"
15
#include "Herwig/Utilities/Kinematics.h"
16
#include "ThePEG/StandardModel/StandardModelBase.h"
17
#include "Herwig/Decay/ResonanceHelpers.h"
18
19
namespace
Herwig
{
20
using namespace
ThePEG
;
21
54
class
KPiKStarCurrent
:
public
WeakCurrent
{
55
56
public
:
57
61
KPiKStarCurrent
();
62
83
virtual
bool
createMode
(
int
icharge,
tcPDPtr
resonance,
84
FlavourInfo
flavour,
85
unsigned
int
imode,PhaseSpaceModePtr mode,
86
unsigned
int
iloc,
int
ires,
87
PhaseSpaceChannel
phase, Energy upp );
88
98
virtual
tPDVector
particles
(
int
icharge,
unsigned
int
imode,
int
iq,
int
ia);
100
114
virtual
vector<LorentzPolarizationVectorE>
115
current
(
tcPDPtr
resonance,
116
FlavourInfo
flavour,
117
const
int
imode,
const
int
ichan,Energy & scale,
118
const
tPDVector
&
outgoing
,
119
const
vector<Lorentz5Momentum> & momenta,
120
DecayIntegrator::MEOption
meopt)
const
;
121
127
virtual
bool
accept
(vector<int>
id
);
128
134
virtual
unsigned
int
decayMode
(vector<int>
id
);
135
142
virtual
void
dataBaseOutput
(ofstream & os,
bool
header,
bool
create)
const
;
143
144
public
:
145
152
void
persistentOutput
(
PersistentOStream
& os)
const
;
153
159
void
persistentInput
(
PersistentIStream
& is,
int
version);
161
165
static
void
Init
();
166
167
protected
:
168
175
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
176
181
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
183
184
protected
:
185
188
194
virtual
void
doinit
();
196
197
private
:
198
202
KPiKStarCurrent
&
operator=
(
const
KPiKStarCurrent
&) =
delete
;
203
204
private
:
205
213
Complex
BreitWigner
(Energy2 q2,
unsigned
int
imodel,
214
unsigned
int
ires)
const
{
215
// workout the index of the resonace
216
// calculate the BW
217
if
(imodel==0) {
218
return
Resonance::BreitWignerPWave(q2,
_mass
[ires],
_width
[ires],
219
_massa
[ires],_massb[ires]);
220
}
221
else
if
(imodel==1) {
222
return
Resonance::BreitWignerGS(q2,
_mass
[ires],
_width
[ires],
223
_massa
[ires],_massb[ires],
224
_h0
[ires],
_dh
[ires],
_hres
[ires]);
225
}
226
else
227
assert(
false
);
228
}
229
230
private
:
231
239
vector<Complex>
_kwgt
;
240
244
vector<double>
_kmag
;
245
249
vector<double>
_kphase
;
251
255
int
_kmodel
;
256
260
bool
_kstarparameters
;
261
265
vector<Energy>
_kstarmasses
;
266
270
vector<Energy>
_kstarwidths
;
271
279
vector<Energy>
_mass
;
280
284
vector<Energy>
_width
;
285
289
vector<Energy>
_massa
,_massb;
290
295
vector<double>
_dh
;
296
301
vector<Energy2>
_hres
;
302
307
vector<Energy2>
_h0
;
309
};
310
311
}
312
313
314
#endif
/* HERWIG_KPiKStarCurrent_H */
Herwig::DecayIntegrator::MEOption
MEOption
Enum for the matrix element option.
Definition:
DecayIntegrator.h:72
Herwig::KPiKStarCurrent
Weak current for the production of two mesons via the or resonances.
Definition:
KPiKStarCurrent.h:54
Herwig::KPiKStarCurrent::dataBaseOutput
virtual void dataBaseOutput(ofstream &os, bool header, bool create) const
Output the setup information for the particle database.
Herwig::KPiKStarCurrent::Init
static void Init()
Standard Init function used to initialize the interfaces.
Herwig::KPiKStarCurrent::_kstarwidths
vector< Energy > _kstarwidths
The masses of the resonances.
Definition:
KPiKStarCurrent.h:270
Herwig::KPiKStarCurrent::_kstarmasses
vector< Energy > _kstarmasses
The masses of the resonances.
Definition:
KPiKStarCurrent.h:265
Herwig::KPiKStarCurrent::_hres
vector< Energy2 > _hres
The function at for the GS form of the Breit-Wigner.
Definition:
KPiKStarCurrent.h:301
Herwig::KPiKStarCurrent::_kmodel
int _kmodel
Model to use for the propagator.
Definition:
KPiKStarCurrent.h:255
Herwig::KPiKStarCurrent::_dh
vector< double > _dh
The function at for the GS form of the Breit-Wigner.
Definition:
KPiKStarCurrent.h:295
Herwig::KPiKStarCurrent::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::KPiKStarCurrent::_h0
vector< Energy2 > _h0
The parameter for the GS form of the Breit-Wigner.
Definition:
KPiKStarCurrent.h:307
Herwig::KPiKStarCurrent::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::KPiKStarCurrent::_mass
vector< Energy > _mass
Parameters for the Breit-Wigners.
Definition:
KPiKStarCurrent.h:279
Herwig::KPiKStarCurrent::_kphase
vector< double > _kphase
The phase for input.
Definition:
KPiKStarCurrent.h:249
Herwig::KPiKStarCurrent::operator=
KPiKStarCurrent & operator=(const KPiKStarCurrent &)=delete
Private and non-existent assignment operator.
Herwig::KPiKStarCurrent::_width
vector< Energy > _width
The widths of the resonances.
Definition:
KPiKStarCurrent.h:284
Herwig::KPiKStarCurrent::accept
virtual bool accept(vector< int > id)
Accept the decay.
Herwig::KPiKStarCurrent::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
KPiKStarCurrent.h:181
Herwig::KPiKStarCurrent::_massa
vector< Energy > _massa
Masses of the decay products for the momentum calculation.
Definition:
KPiKStarCurrent.h:289
Herwig::KPiKStarCurrent::_kmag
vector< double > _kmag
The magnitude for input.
Definition:
KPiKStarCurrent.h:244
Herwig::KPiKStarCurrent::KPiKStarCurrent
KPiKStarCurrent()
Default constructor.
Herwig::KPiKStarCurrent::decayMode
virtual unsigned int decayMode(vector< int > id)
Return the decay mode number for a given set of particles in the current.
Herwig::KPiKStarCurrent::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::KPiKStarCurrent::BreitWigner
Complex BreitWigner(Energy2 q2, unsigned int imodel, unsigned int ires) const
-wave breit wigner for form-factors
Definition:
KPiKStarCurrent.h:213
Herwig::KPiKStarCurrent::particles
virtual tPDVector particles(int icharge, unsigned int imode, int iq, int ia)
The particles produced by the current.
Herwig::KPiKStarCurrent::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::KPiKStarCurrent::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
KPiKStarCurrent.h:175
Herwig::KPiKStarCurrent::doinit
virtual void doinit()
Initialize this object after the setup phase before saving and EventGenerator to disk.
Herwig::KPiKStarCurrent::_kwgt
vector< Complex > _kwgt
Weights for the different resonances in the current, .
Definition:
KPiKStarCurrent.h:239
Herwig::KPiKStarCurrent::_kstarparameters
bool _kstarparameters
Option not to use the physical masses and widths for the .
Definition:
KPiKStarCurrent.h:260
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::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::Complex
std::complex< double > Complex
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