herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Decay
Dalitz
DalitzBase.h
1
// -*- C++ -*-
2
#ifndef Herwig_DalitzBase_H
3
#define Herwig_DalitzBase_H
4
//
5
// This is the declaration of the DalitzBase class.
6
//
7
8
#include "Herwig/Decay/DecayIntegrator.h"
9
#include "Herwig/Decay/FormFactors/KMatrix.h"
10
#include "DalitzResonance.h"
11
12
namespace
Herwig
{
13
14
using namespace
ThePEG
;
15
22
class
DalitzBase
:
public
DecayIntegrator
{
23
24
public
:
25
29
DalitzBase
() :
rParent_
(5./GeV),
useAllK0_
(false),
30
maxWgt_
(1.),
channel1_
(-1), channel2_(-1),
31
incoming_
(0),
outgoing_
({0,0,0}) {
32
// intermediates
33
generateIntermediates
(
true
);
34
}
35
42
virtual
int
modeNumber
(
bool
& cc,
tcPDPtr
parent,
43
const
tPDVector
& children)
const
;
44
50
virtual
void
dataBaseOutput
(ofstream & os,
bool
header)
const
;
51
55
string
addChannel
(
string
arg);
56
60
string
setExternal
(
string
arg);
61
62
public
:
63
70
void
persistentOutput
(
PersistentOStream
& os)
const
;
71
77
void
persistentInput
(
PersistentIStream
& is,
int
version);
79
86
static
void
Init
();
87
88
protected
:
89
93
void
addResonance
(
const
DalitzResonancePtr & R) {
resonances_
.push_back(R);}
94
98
void
createMode
(
tPDPtr
in,
tPDVector
out);
99
103
const
vector<DalitzResonancePtr> &
resonances
()
const
{
return
resonances_
;}
104
108
const
int
&
channel1
()
const
{
109
return
channel1_
;
110
}
111
115
const
int
&
channel2
()
const
{
116
return
channel2_;
117
}
118
122
const
InvEnergy &
parentRadius
()
const
{
123
return
rParent_
;
124
}
125
129
const
vector<double> &
weights
()
const
{
return
weights_
;}
130
131
protected
:
132
140
virtual
void
doinit
();
141
146
virtual
void
doinitrun
();
148
149
private
:
150
155
DalitzBase
&
operator=
(
const
DalitzBase
&) =
delete
;
156
157
private
:
158
166
InvEnergy
rParent_
;
168
172
bool
useAllK0_
;
173
177
vector<DalitzResonancePtr>
resonances_
;
178
182
vector<KMatrixPtr>
kMatrix_
;
183
191
double
maxWgt_
;
192
196
vector<double>
weights_
;
197
198
private
:
199
203
int
channel1_
, channel2_;
204
208
long
incoming_
;
209
213
array<long,3>
outgoing_
;
214
215
};
216
217
}
218
219
#endif
/* Herwig_DalitzBase_H */
Herwig::DalitzBase
The DalitzBase class provides a base class for the implementation of three-body Dalitz decays.
Definition:
DalitzBase.h:22
Herwig::DalitzBase::modeNumber
virtual int modeNumber(bool &cc, tcPDPtr parent, const tPDVector &children) const
Which of the possible decays is required.
Herwig::DalitzBase::resonances
const vector< DalitzResonancePtr > & resonances() const
Access to the resonances.
Definition:
DalitzBase.h:103
Herwig::DalitzBase::DalitzBase
DalitzBase()
The default constructor.
Definition:
DalitzBase.h:29
Herwig::DalitzBase::operator=
DalitzBase & operator=(const DalitzBase &)=delete
The assignment operator is private and must never be called.
Herwig::DalitzBase::weights_
vector< double > weights_
Weights for the phase-space channels.
Definition:
DalitzBase.h:196
Herwig::DalitzBase::weights
const vector< double > & weights() const
Weights for the phase-space channels.
Definition:
DalitzBase.h:129
Herwig::DalitzBase::createMode
void createMode(tPDPtr in, tPDVector out)
Set up the phase-space.
Herwig::DalitzBase::dataBaseOutput
virtual void dataBaseOutput(ofstream &os, bool header) const
Output the setup information for the particle database.
Herwig::DalitzBase::addResonance
void addResonance(const DalitzResonancePtr &R)
Add a new resonance.
Definition:
DalitzBase.h:93
Herwig::DalitzBase::incoming_
long incoming_
The incoming particle.
Definition:
DalitzBase.h:208
Herwig::DalitzBase::useAllK0_
bool useAllK0_
Take all mesnos to be the same.
Definition:
DalitzBase.h:172
Herwig::DalitzBase::rParent_
InvEnergy rParent_
The radii for the Blatt-Weisskopf form factors.
Definition:
DalitzBase.h:166
Herwig::DalitzBase::doinitrun
virtual void doinitrun()
Initialize this object.
Herwig::DalitzBase::resonances_
vector< DalitzResonancePtr > resonances_
Vector containing the intermediate resonances.
Definition:
DalitzBase.h:177
Herwig::DalitzBase::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::DalitzBase::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::DalitzBase::maxWgt_
double maxWgt_
Parameters for the phase-space sampling.
Definition:
DalitzBase.h:191
Herwig::DalitzBase::setExternal
string setExternal(string arg)
Set the parameters for a decay mode.
Herwig::DalitzBase::kMatrix_
vector< KMatrixPtr > kMatrix_
Any -matrices for the decay.
Definition:
DalitzBase.h:182
Herwig::DalitzBase::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::DalitzBase::addChannel
string addChannel(string arg)
Set the parameters for a decay mode.
Herwig::DalitzBase::channel1_
int channel1_
Control over channels to check fit fractions.
Definition:
DalitzBase.h:203
Herwig::DalitzBase::channel1
const int & channel1() const
Access to the first channel.
Definition:
DalitzBase.h:108
Herwig::DalitzBase::outgoing_
array< long, 3 > outgoing_
The outgoing pairtcles.
Definition:
DalitzBase.h:213
Herwig::DalitzBase::parentRadius
const InvEnergy & parentRadius() const
Radius of the parent.
Definition:
DalitzBase.h:122
Herwig::DalitzBase::channel2
const int & channel2() const
Access to the second channel.
Definition:
DalitzBase.h:115
Herwig::DalitzBase::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::DecayIntegrator
Main class for Decayers implementing multi-channel phase space integration.
Definition:
DecayIntegrator.h:60
Herwig::DecayIntegrator::generateIntermediates
bool generateIntermediates() const
Set whether or not the intermediates are included.
Definition:
DecayIntegrator.h:389
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::tPDPtr
ThePEG::Ptr< ParticleData >::transient_pointer tPDPtr
ThePEG::tPDVector
vector< tPDPtr > tPDVector
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6