herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Shower
RealEmissionProcess.h
1
// -*- C++ -*-
2
//
3
// RealEmissionProcess.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_RealEmissionProcess_H
10
#define HERWIG_RealEmissionProcess_H
11
12
#include "
ThePEG/Config/ThePEG.h
"
13
#include "ThePEG/EventRecord/Particle.h"
14
#include "ThePEG/EventRecord/SubProcess.h"
15
#include "ThePEG/Handlers/XComb.h"
16
#include "
ThePEG/Config/Pointers.h
"
17
#include "RealEmissionProcess.fh"
18
#include "Herwig/Shower/ShowerInteraction.h"
19
20
namespace
Herwig
{
21
using namespace
ThePEG
;
22
26
class
RealEmissionProcess
:
public
Base
{
27
28
friend
ostream &
operator<<
(ostream & os,
const
RealEmissionProcess
& proc);
29
30
public
:
31
35
ParticleVector
&
incoming
() {
36
return
incoming_
;
37
}
38
42
ParticleVector
&
outgoing
() {
43
return
outgoing_;
44
}
45
46
public
:
47
51
ParticleVector
&
bornIncoming
() {
52
return
bornIncoming_
;
53
}
54
58
ParticleVector
&
bornOutgoing
() {
59
return
bornOutgoing_
;
60
}
61
65
ParticleVector
&
hadrons
() {
66
return
hadrons_
;
67
}
68
69
public
:
70
74
unsigned
int
emitter
()
const
{
return
emitter_
;}
75
79
unsigned
int
spectator
()
const
{
return
spectator_
;}
80
84
unsigned
int
emitted
()
const
{
return
emitted_
;}
85
89
void
emitter
(
unsigned
int
in) {
emitter_
=in;}
90
94
void
spectator
(
unsigned
int
in) {
spectator_
=in;}
95
99
void
emitted
(
unsigned
int
in) {
emitted_
=in;}
100
101
public
:
102
106
LorentzRotation
transformation
()
const
{
return
trans_
;}
107
111
void
transformation
(
LorentzRotation
in) {
trans_
=in;}
112
113
public
:
114
118
pair<double,double>
x
()
const
{
return
x_
;}
119
123
void
x
(pair<double,double> in) {
x_
=in;}
124
125
public
:
126
130
ShowerInteraction
interaction
() {
return
interaction_
;}
131
135
void
interaction
(
ShowerInteraction
in) {
interaction_
= in;}
136
140
map<ShowerInteraction,Energy> &
pT
() {
return
pT_
;}
141
142
private
:
143
147
unsigned
int
emitter_
;
148
152
unsigned
int
spectator_
;
156
unsigned
int
emitted_
;
157
158
private
:
159
163
ParticleVector
incoming_
;
164
165
/*
166
* The outgoing particles
167
*/
168
ParticleVector
outgoing_;
169
170
private
:
171
175
ParticleVector
hadrons_
;
176
177
private
:
178
182
ParticleVector
bornIncoming_
;
183
187
ParticleVector
bornOutgoing_
;
188
189
private
:
190
194
LorentzRotation
trans_
;
195
199
pair<double,double>
x_
;
200
201
private
:
202
206
ShowerInteraction
interaction_
;
207
211
map<ShowerInteraction,Energy>
pT_
;
212
};
213
217
inline
ostream &
operator<<
(ostream & os,
const
RealEmissionProcess
& proc) {
218
os <<
"REAL EMISSION "
219
<< proc.
emitter_
<<
" "
220
<< proc.
spectator_
<<
" "
221
<< proc.
emitted_
<<
"\n"
;
222
os <<
"BORN\n"
;
223
for
(
unsigned
int
ix=0;ix<proc.
bornIncoming_
.size();++ix)
224
os << proc.
bornIncoming_
[ix]->colourLine() <<
" "
225
<< proc.
bornIncoming_
[ix]->antiColourLine() <<
" "
226
<< *proc.
bornIncoming_
[ix] <<
"\n"
;
227
for
(
unsigned
int
ix=0;ix<proc.
bornOutgoing_
.size();++ix)
228
os << proc.
bornOutgoing_
[ix]->colourLine() <<
" "
229
<< proc.
bornOutgoing_
[ix]->antiColourLine() <<
" "
230
<< *proc.
bornOutgoing_
[ix] <<
"\n"
;
231
os <<
"REAL\n"
;
232
for
(
unsigned
int
ix=0;ix<proc.
incoming_
.size();++ix)
233
os << proc.
incoming_
[ix]->colourLine() <<
" "
234
<< proc.
incoming_
[ix]->antiColourLine() <<
" "
235
<< *proc.
incoming_
[ix] <<
"\n"
;
236
for
(
unsigned
int
ix=0;ix<proc.outgoing_.size();++ix)
237
os << proc.outgoing_[ix]->colourLine() <<
" "
238
<< proc.outgoing_[ix]->antiColourLine() <<
" "
239
<< *proc.outgoing_[ix] <<
"\n"
;
240
return
os;
241
}
242
243
}
244
245
#endif
Pointers.h
ThePEG.h
Herwig::RealEmissionProcess
Simple struct for hard processes and decays.
Definition:
RealEmissionProcess.h:26
Herwig::RealEmissionProcess::interaction_
ShowerInteraction interaction_
Type of interaction.
Definition:
RealEmissionProcess.h:206
Herwig::RealEmissionProcess::x
void x(pair< double, double > in)
Set the x values.
Definition:
RealEmissionProcess.h:123
Herwig::RealEmissionProcess::spectator
void spectator(unsigned int in)
The spectator.
Definition:
RealEmissionProcess.h:94
Herwig::RealEmissionProcess::transformation
void transformation(LorentzRotation in)
Lorentz Rotation to final-state for II dipoles.
Definition:
RealEmissionProcess.h:111
Herwig::RealEmissionProcess::incoming
ParticleVector & incoming()
The incoming particles.
Definition:
RealEmissionProcess.h:35
Herwig::RealEmissionProcess::x
pair< double, double > x() const
Get the x values.
Definition:
RealEmissionProcess.h:118
Herwig::RealEmissionProcess::emitter
void emitter(unsigned int in)
The emitter.
Definition:
RealEmissionProcess.h:89
Herwig::RealEmissionProcess::hadrons_
ParticleVector hadrons_
The hadrons.
Definition:
RealEmissionProcess.h:175
Herwig::RealEmissionProcess::emitter
unsigned int emitter() const
The emitter.
Definition:
RealEmissionProcess.h:74
Herwig::RealEmissionProcess::pT
map< ShowerInteraction, Energy > & pT()
Emission scales.
Definition:
RealEmissionProcess.h:140
Herwig::RealEmissionProcess::transformation
LorentzRotation transformation() const
Lorentz Rotation to final-state for II dipoles.
Definition:
RealEmissionProcess.h:106
Herwig::RealEmissionProcess::outgoing
ParticleVector & outgoing()
The outgoing particles.
Definition:
RealEmissionProcess.h:42
Herwig::RealEmissionProcess::incoming_
ParticleVector incoming_
The incoming particles.
Definition:
RealEmissionProcess.h:163
Herwig::RealEmissionProcess::bornOutgoing
ParticleVector & bornOutgoing()
The outgoing particles.
Definition:
RealEmissionProcess.h:58
Herwig::RealEmissionProcess::operator<<
friend ostream & operator<<(ostream &os, const RealEmissionProcess &proc)
Output to a stream.
Definition:
RealEmissionProcess.h:217
Herwig::RealEmissionProcess::emitted
void emitted(unsigned int in)
The emitted.
Definition:
RealEmissionProcess.h:99
Herwig::RealEmissionProcess::hadrons
ParticleVector & hadrons()
The hadrons.
Definition:
RealEmissionProcess.h:65
Herwig::RealEmissionProcess::spectator_
unsigned int spectator_
The spectator.
Definition:
RealEmissionProcess.h:152
Herwig::RealEmissionProcess::interaction
void interaction(ShowerInteraction in)
Type of interaction.
Definition:
RealEmissionProcess.h:135
Herwig::RealEmissionProcess::bornOutgoing_
ParticleVector bornOutgoing_
Outgoing for the Born process.
Definition:
RealEmissionProcess.h:187
Herwig::RealEmissionProcess::emitted
unsigned int emitted() const
The emitted.
Definition:
RealEmissionProcess.h:84
Herwig::RealEmissionProcess::x_
pair< double, double > x_
x values
Definition:
RealEmissionProcess.h:199
Herwig::RealEmissionProcess::trans_
LorentzRotation trans_
Lorentz transformation for spectators in II.
Definition:
RealEmissionProcess.h:194
Herwig::RealEmissionProcess::bornIncoming_
ParticleVector bornIncoming_
Incoming for the Born process.
Definition:
RealEmissionProcess.h:182
Herwig::RealEmissionProcess::pT_
map< ShowerInteraction, Energy > pT_
Emission scales.
Definition:
RealEmissionProcess.h:211
Herwig::RealEmissionProcess::spectator
unsigned int spectator() const
The spectator.
Definition:
RealEmissionProcess.h:79
Herwig::RealEmissionProcess::interaction
ShowerInteraction interaction()
Type of interaction.
Definition:
RealEmissionProcess.h:130
Herwig::RealEmissionProcess::emitter_
unsigned int emitter_
The emitter.
Definition:
RealEmissionProcess.h:147
Herwig::RealEmissionProcess::emitted_
unsigned int emitted_
The emitter.
Definition:
RealEmissionProcess.h:156
Herwig::RealEmissionProcess::bornIncoming
ParticleVector & bornIncoming()
The incoming particles.
Definition:
RealEmissionProcess.h:51
ThePEG::LorentzRotation
Herwig::ShowerInteraction
ShowerInteraction
Handy header file to be included in all Shower classes.
Definition:
ShowerInteraction.h:23
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::ParticleVector
vector< PPtr > ParticleVector
ThePEG::operator<<
ostream & operator<<(ostream &, const Collision &)
ThePEG::Base
Generated on Thu Jun 20 2024 17:50:53 for Herwig by
1.9.6