herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
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
&) =
delete
;
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.h
Herwig::DipoleShowerParticle
Definition:
DipoleShowerParticle.h:31
Herwig::DipoleSplittingInfo
DipoleSplittingInfo contains all parameters to generate a full dipole splitting.
Definition:
DipoleSplittingInfo.h:209
Herwig::DipoleVertexRecord
Here is the documentation of the DipoleVertexRecord class.
Definition:
DipoleVertexRecord.h:21
Herwig::DipoleVertexRecord::theDecayParentSpinInfo
tcSpinPtr theDecayParentSpinInfo
SW 06/02/2019: Required for NearestNeighbourDipoleAnalysis tests.
Definition:
DipoleVertexRecord.h:161
Herwig::DipoleVertexRecord::operator=
DipoleVertexRecord & operator=(const DipoleVertexRecord &)=delete
The assignment operator is private and must never be called.
Herwig::DipoleVertexRecord::clear
virtual void clear()
SW 06/02/2019: Required for NearestNeighbourDipoleAnalysis tests.
Herwig::DipoleVertexRecord::theCurrentEmitter
DipoleShowerParticle theCurrentEmitter
The current emitter.
Definition:
DipoleVertexRecord.h:148
Herwig::DipoleVertexRecord::generatePhi
void generatePhi(DipoleSplittingInfo &dInfo, Dipole &dip)
Generate the spin-correlated azimuthal angle for a splitting.
Herwig::DipoleVertexRecord::updateParticleDecay
void updateParticleDecay()
Update the spin info of the incoming to the decay following showering of the decay.
Herwig::DipoleVertexRecord::createSpinInfo
void createSpinInfo(PPtr &part, const Helicity::Direction &dir)
Identify the type of particle and use the appropriate function to set up the spin info.
Herwig::DipoleVertexRecord::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::DipoleVertexRecord::initDecayMatrix
void initDecayMatrix(PPtr &particle, Helicity::Direction dir)
Correctly initialise the decay matrix to a delta matrix for an external particle.
Herwig::DipoleVertexRecord::~DipoleVertexRecord
virtual ~DipoleVertexRecord()
The destructor.
Definition:
DipoleVertexRecord.h:35
Herwig::DipoleVertexRecord::createFermionSpinInfo
void createFermionSpinInfo(PPtr &part, const Helicity::Direction &dir)
Create and set up fermion spin info.
Herwig::DipoleVertexRecord::prepareParticleDecay
void prepareParticleDecay(const PPtr &parent)
Set the stopUpdate flag in the spin info of a particle incoming to the current decay.
Herwig::DipoleVertexRecord::update
void update(const DipoleSplittingInfo &dInfo)
Update the vertex record following a splitting.
Herwig::DipoleVertexRecord::prepareSplitting
void prepareSplitting(const DipoleSplittingInfo &dInfo, const Dipole &dip)
Prepare the emitter and spectator for the spin correlations computations.
Herwig::DipoleVertexRecord::createVectorSpinInfo
void createVectorSpinInfo(PPtr &part, const Helicity::Direction &dir)
Create and set up vector spin info.
Herwig::DipoleVertexRecord::emitterDensityMatrix
RhoDMatrix emitterDensityMatrix(PPtr emitter)
Compute the spin density matrix for the given emitter.
Herwig::DipoleVertexRecord::updateSpinInfo
void updateSpinInfo(PPtr &oldPart, PPtr &newPart)
For spectators.
Herwig::DipoleVertexRecord::DipoleVertexRecord
DipoleVertexRecord()
The default constructor.
Definition:
DipoleVertexRecord.h:30
Herwig::Dipole
The Dipole class is used by the dipole shower to represent a dipole of two coloured partons.
Definition:
Dipole.h:30
ThePEG::RhoDMatrix
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::Helicity::Direction
Direction
ThePEG
ThePEG::tcSpinPtr
ThePEG::Ptr< SpinInfo >::transient_const_pointer tcSpinPtr
ThePEG::PPtr
ThePEG::Ptr< Particle >::pointer PPtr
ThePEG::BaseClassTrait
ThePEG::BaseClassTrait::NthBase
int NthBase
ThePEG::Base
ThePEG::ClassTraitsBase
ThePEG::ClassTraitsBase::className
static string className()
ThePEG::ClassTraitsBase::library
static string library()
ThePEG::ClassTraits
Generated on Thu Jun 20 2024 17:50:53 for Herwig by
1.9.6