herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Shower
Dipole
SpinCorrelations
DipoleVertexRecord.h
1
// -*- C++ -*-
2
#ifndef Herwig_DipoleVertexRecord_H
3
#define Herwig_DipoleVertexRecord_H
4
//
5
// This is the declaration of the DipoleVertexRecord class.
6
//
7
8
#include "
ThePEG/Config/ThePEG.h
"
9
#include "Herwig/Shower/Dipole/Base/DipoleSplittingInfo.h"
10
#include "Herwig/Shower/Dipole/Base/Dipole.h"
11
#include "ThePEG/EventRecord/RhoDMatrix.h"
12
#include "DipoleShowerParticle.h"
13
14
namespace
Herwig
{
15
16
using namespace
ThePEG
;
17
21
class
DipoleVertexRecord
:
public
Base
{
22
23
public
:
24
30
DipoleVertexRecord
() {}
31
35
virtual
~DipoleVertexRecord
() { clear(); }
37
38
public
:
39
44
void
prepareSplitting(
const
DipoleSplittingInfo
& dInfo,
const
Dipole
& dip);
45
50
void
initDecayMatrix(
PPtr
& particle,
Helicity::Direction
dir);
51
58
RhoDMatrix
emitterDensityMatrix(
PPtr
emitter);
59
63
void
generatePhi(
DipoleSplittingInfo
& dInfo,
Dipole
& dip);
64
65
71
void
createSpinInfo(
PPtr
& part,
72
const
Helicity::Direction
& dir);
73
78
void
createFermionSpinInfo(
PPtr
& part,
79
const
Helicity::Direction
& dir);
80
85
void
createVectorSpinInfo(
PPtr
& part,
86
const
Helicity::Direction
& dir);
87
91
void
update(
const
DipoleSplittingInfo
& dInfo);
92
97
void
updateSpinInfo(
PPtr
& oldPart,
98
PPtr
& newPart );
99
104
void
prepareParticleDecay(
const
PPtr
& parent );
105
110
void
updateParticleDecay();
111
116
//map<PPtr,DipoleSplittingInfo> emitterInfoRecord() const {
117
//return theEmitterInfoRecord;
118
//}
119
124
// void addToRecord(const DipoleSplittingInfo& dInfo) {
125
// assert(dInfo.emitter());
126
// theEmitterInfoRecord[dInfo.emitter()] = dInfo;
127
// }
128
133
virtual
void
clear();
134
141
static
void
Init();
142
143
private
:
144
148
DipoleShowerParticle
theCurrentEmitter
;
149
155
//map<PPtr, DipoleSplittingInfo> theEmitterInfoRecord;
156
161
tcSpinPtr
theDecayParentSpinInfo
;
162
167
DipoleVertexRecord
& operator=(
const
DipoleVertexRecord
&);
168
169
};
170
171
}
172
173
#include "ThePEG/Utilities/ClassTraits.h"
174
175
namespace
ThePEG
{
176
181
template
<>
182
struct
BaseClassTrait
<
Herwig
::
DipoleVertexRecord
,1> {
184
typedef
Base
NthBase;
185
};
186
189
template
<>
190
struct
ClassTraits
<
Herwig
::
DipoleVertexRecord
>
191
:
public
ClassTraitsBase
<Herwig::DipoleVertexRecord> {
193
static
string
className() {
return
"Herwig::DipoleVertexRecord"
; }
201
static
string
library() {
return
"HwDipoleShower.so"
; }
202
};
203
206
}
207
#endif
/* Herwig_DipoleVertexRecord_H */
ThePEG::PPtr
ThePEG::Ptr< Particle >::pointer PPtr
Herwig::DipoleVertexRecord::theDecayParentSpinInfo
tcSpinPtr theDecayParentSpinInfo
SW 06/02/2019: Required for NearestNeighbourDipoleAnalysis tests.
Definition:
DipoleVertexRecord.h:161
Herwig::DipoleVertexRecord::DipoleVertexRecord
DipoleVertexRecord()
The default constructor.
Definition:
DipoleVertexRecord.h:30
ThePEG::Base
Herwig::DipoleVertexRecord::~DipoleVertexRecord
virtual ~DipoleVertexRecord()
The destructor.
Definition:
DipoleVertexRecord.h:35
Herwig::DipoleVertexRecord::theCurrentEmitter
DipoleShowerParticle theCurrentEmitter
The current emitter.
Definition:
DipoleVertexRecord.h:148
ThePEG
ThePEG.h
Herwig::DipoleVertexRecord
Here is the documentation of the DipoleVertexRecord class.
Definition:
DipoleVertexRecord.h:21
ThePEG::tcSpinPtr
ThePEG::Ptr< SpinInfo >::transient_const_pointer tcSpinPtr
ThePEG::Helicity::Direction
Direction
Herwig::Dipole
The Dipole class is used by the dipole shower to represent a dipole of two coloured partons...
Definition:
Dipole.h:30
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::ClassTraits
Herwig::DipoleSplittingInfo
DipoleSplittingInfo contains all parameters to generate a full dipole splitting.
Definition:
DipoleSplittingInfo.h:209
ThePEG::RhoDMatrix
ThePEG::BaseClassTrait
Herwig::DipoleShowerParticle
Definition:
DipoleShowerParticle.h:31
ThePEG::ClassTraitsBase
Generated on Sat Apr 11 2020 14:50:29 for Herwig by
1.8.13