herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Shower
Dipole
SpinCorrelations
DipoleShowerVertex.h
1
// -*- C++ -*-
2
//
3
// DipoleShowerVertex.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 2 of the GPL, see COPYING for details.
7
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8
//
9
#ifndef HERWIG_DipoleShowerVertex_H
10
#define HERWIG_DipoleShowerVertex_H
11
//
12
// This is the declaration of the DipoleShowerVertex class.
13
//
14
15
16
#include "ThePEG/EventRecord/HelicityVertex.h"
17
#include "Herwig/Decay/DecayMatrixElement.h"
18
19
#include "DipoleShowerVertex.fh"
20
21
namespace
Herwig
{
22
23
using namespace
ThePEG
;
24
33
class
DipoleShowerVertex
:
public
HelicityVertex
{
34
35
public
:
36
40
DipoleShowerVertex
();
41
45
~DipoleShowerVertex
() {}
46
47
public
:
48
52
inline
const
DecayMEPtr
ME
()
const
{
53
return
theMatrixElement
;
54
}
55
59
inline
void
ME
(DecayMEPtr in) {
60
theMatrixElement
= in;
61
}
62
63
64
public
:
65
72
RhoDMatrix
getRhoMatrix
(
int
iprod,
bool
)
const
;
73
79
RhoDMatrix
getDMatrix
(
int
)
const
;
80
85
LorentzRotation
boostToSplitting
();
86
90
void
pVector
(
const
Lorentz5Momentum& emitterMom ) {
thePVector
= emitterMom; }
91
95
void
nVector
(
const
Lorentz5Momentum& nMom ) {
theNVector
= nMom; }
96
100
void
dipoleConfig
(
const
pair<bool,bool>& newConfig) {
theDipoleConfig
= newConfig; }
101
105
Lorentz5Momentum
pVector
()
const
{
return
thePVector
; }
106
110
Lorentz5Momentum
nVector
()
const
{
return
theNVector
; }
111
115
const
pair<bool,bool>&
dipoleConfig
()
const
{
return
theDipoleConfig
; }
116
117
122
void
mappingD2P
(
RhoDMatrix
& mapping ) {
theMappingDecay2Prod
= mapping; }
123
128
RhoDMatrix
mappingD2P
() {
return
theMappingDecay2Prod
; }
129
134
void
mappingP2D
(
RhoDMatrix
& mapping ) {
theMappingProd2Decay
= mapping; }
135
140
RhoDMatrix
mappingP2D
() {
return
theMappingProd2Decay
; }
141
142
147
void
mappingSpecNewToOld
(
RhoDMatrix
& mapping ) {
theMappingSpectatorNewToOld
= mapping; }
148
153
RhoDMatrix
mappingSpecNewToOld
() {
return
theMappingSpectatorNewToOld
; }
154
159
void
mappingSpecOldToNew
(
RhoDMatrix
& mapping ) {
theMappingSpectatorOldToNew
= mapping; }
160
165
RhoDMatrix
mappingSpecOldToNew
() {
return
theMappingSpectatorOldToNew
; }
166
167
168
169
public
:
170
177
static
void
Init
();
178
179
private
:
180
184
DecayMEPtr
theMatrixElement
;
185
190
Lorentz5Momentum
thePVector
;
191
196
Lorentz5Momentum
theNVector
;
197
201
pair<bool,bool>
theDipoleConfig
;
202
207
bool
theBoostCalculated
;
208
213
LorentzRotation
theBoostToSplitting
;
214
219
RhoDMatrix
theMappingDecay2Prod
;
220
225
RhoDMatrix
theMappingProd2Decay
;
226
227
232
RhoDMatrix
theMappingSpectatorNewToOld
;
233
238
RhoDMatrix
theMappingSpectatorOldToNew
;
239
240
private
:
241
246
DipoleShowerVertex
&
operator=
(
const
DipoleShowerVertex
&) =
delete
;
247
248
};
249
}
250
251
#include "ThePEG/Utilities/ClassTraits.h"
252
253
namespace
ThePEG
{
254
259
template
<>
260
struct
BaseClassTrait
<
Herwig
::DipoleShowerVertex,1> {
262
typedef
HelicityVertex
NthBase
;
263
};
264
267
template
<>
268
struct
ClassTraits
<
Herwig
::DipoleShowerVertex>
269
:
public
ClassTraitsBase
<Herwig::DipoleShowerVertex> {
271
static
string
className
() {
return
"Herwig::DipoleShowerVertex"
; }
279
static
string
library
() {
return
"HwDipoleShower.so"
; }
280
};
281
284
}
285
#endif
/* HERWIG_DipoleShowerVertex_H */
Herwig::DipoleShowerVertex
This class represents the vertex for a given splitting in the dipole shower.
Definition:
DipoleShowerVertex.h:33
Herwig::DipoleShowerVertex::ME
void ME(DecayMEPtr in)
Set the matrix element.
Definition:
DipoleShowerVertex.h:59
Herwig::DipoleShowerVertex::mappingP2D
void mappingP2D(RhoDMatrix &mapping)
Set the production state to decay state mapping for this vertex.
Definition:
DipoleShowerVertex.h:134
Herwig::DipoleShowerVertex::mappingSpecOldToNew
void mappingSpecOldToNew(RhoDMatrix &mapping)
Set the new to old spectator mapping for this vertex.
Definition:
DipoleShowerVertex.h:159
Herwig::DipoleShowerVertex::theMappingSpectatorOldToNew
RhoDMatrix theMappingSpectatorOldToNew
The mapping from the old spectator basis states to the new spectator basis states.
Definition:
DipoleShowerVertex.h:238
Herwig::DipoleShowerVertex::theBoostToSplitting
LorentzRotation theBoostToSplitting
The lorentz transformation from the working frame to this splitting.
Definition:
DipoleShowerVertex.h:213
Herwig::DipoleShowerVertex::theBoostCalculated
bool theBoostCalculated
An indicator flag to record if the boost to shower for this vertex has been done.
Definition:
DipoleShowerVertex.h:207
Herwig::DipoleShowerVertex::theMappingSpectatorNewToOld
RhoDMatrix theMappingSpectatorNewToOld
The mapping from the new spectator basis states to the old spectator basis states.
Definition:
DipoleShowerVertex.h:232
Herwig::DipoleShowerVertex::mappingD2P
void mappingD2P(RhoDMatrix &mapping)
Set the decay state to production state mapping for this vertex.
Definition:
DipoleShowerVertex.h:122
Herwig::DipoleShowerVertex::ME
const DecayMEPtr ME() const
Return the matrix element for this vertex.
Definition:
DipoleShowerVertex.h:52
Herwig::DipoleShowerVertex::mappingP2D
RhoDMatrix mappingP2D()
Return the mapping from the production states to the decay states.
Definition:
DipoleShowerVertex.h:140
Herwig::DipoleShowerVertex::dipoleConfig
const pair< bool, bool > & dipoleConfig() const
Return the emitter,Spectator Config (II,IF,FF,FI - F=true, I=false)
Definition:
DipoleShowerVertex.h:115
Herwig::DipoleShowerVertex::nVector
Lorentz5Momentum nVector() const
Return the n/spectator vector for this splitting.
Definition:
DipoleShowerVertex.h:110
Herwig::DipoleShowerVertex::nVector
void nVector(const Lorentz5Momentum &nMom)
Set the n vector for this splitting.
Definition:
DipoleShowerVertex.h:95
Herwig::DipoleShowerVertex::thePVector
Lorentz5Momentum thePVector
The p vector of the 'splitting basis' associated with this vertex.
Definition:
DipoleShowerVertex.h:190
Herwig::DipoleShowerVertex::~DipoleShowerVertex
~DipoleShowerVertex()
Default destructor.
Definition:
DipoleShowerVertex.h:45
Herwig::DipoleShowerVertex::mappingSpecNewToOld
RhoDMatrix mappingSpecNewToOld()
Return the new to old spectator mapping for this vertex.
Definition:
DipoleShowerVertex.h:153
Herwig::DipoleShowerVertex::operator=
DipoleShowerVertex & operator=(const DipoleShowerVertex &)=delete
The assignment operator is private and must never be called.
Herwig::DipoleShowerVertex::getDMatrix
RhoDMatrix getDMatrix(int) const
Method to calculate the matrix for the decaying particle / the incoming to the vertex,...
Herwig::DipoleShowerVertex::theMappingProd2Decay
RhoDMatrix theMappingProd2Decay
The mapping from the production basis states to the decay basis states.
Definition:
DipoleShowerVertex.h:225
Herwig::DipoleShowerVertex::theNVector
Lorentz5Momentum theNVector
The n vector of the 'splitting basis' associated with this vertex.
Definition:
DipoleShowerVertex.h:196
Herwig::DipoleShowerVertex::theDipoleConfig
pair< bool, bool > theDipoleConfig
Initial/final config {emitter, spectator}.
Definition:
DipoleShowerVertex.h:201
Herwig::DipoleShowerVertex::boostToSplitting
LorentzRotation boostToSplitting()
Get the lorentz rotation from the working frame to the frame of the splitting.
Herwig::DipoleShowerVertex::theMatrixElement
DecayMEPtr theMatrixElement
Storage of the decay matrix element.
Definition:
DipoleShowerVertex.h:184
Herwig::DipoleShowerVertex::mappingSpecNewToOld
void mappingSpecNewToOld(RhoDMatrix &mapping)
Set the new to old spectator mapping for this vertex.
Definition:
DipoleShowerVertex.h:147
Herwig::DipoleShowerVertex::pVector
Lorentz5Momentum pVector() const
Return the p vector for this splitting.
Definition:
DipoleShowerVertex.h:105
Herwig::DipoleShowerVertex::getRhoMatrix
RhoDMatrix getRhoMatrix(int iprod, bool) const
Method to calculate the matrix for one of the decay products in the frame of this splitting vertex.
Herwig::DipoleShowerVertex::theMappingDecay2Prod
RhoDMatrix theMappingDecay2Prod
The mapping from the decay basis states to the production basis states.
Definition:
DipoleShowerVertex.h:219
Herwig::DipoleShowerVertex::dipoleConfig
void dipoleConfig(const pair< bool, bool > &newConfig)
Set the emitter,Spectator Config (II,IF,FF,FI - F=true, I=false)
Definition:
DipoleShowerVertex.h:100
Herwig::DipoleShowerVertex::DipoleShowerVertex
DipoleShowerVertex()
Default constructor.
Herwig::DipoleShowerVertex::mappingD2P
RhoDMatrix mappingD2P()
Return the mapping from the decay states to the production states.
Definition:
DipoleShowerVertex.h:128
Herwig::DipoleShowerVertex::mappingSpecOldToNew
RhoDMatrix mappingSpecOldToNew()
Return the new to old spectator mapping for this vertex.
Definition:
DipoleShowerVertex.h:165
Herwig::DipoleShowerVertex::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::DipoleShowerVertex::pVector
void pVector(const Lorentz5Momentum &emitterMom)
Set the p vector for this splitting.
Definition:
DipoleShowerVertex.h:90
ThePEG::HelicityVertex
ThePEG::LorentzRotation
ThePEG::RhoDMatrix
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::BaseClassTrait
ThePEG::BaseClassTrait::NthBase
int NthBase
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