herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Hadronization
ColourReconnector.h
1
// -*- C++ -*-
2
//
3
// ColourReconnector.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_ColourReconnector_H
10
#define HERWIG_ColourReconnector_H
11
12
#include <ThePEG/Interface/Interfaced.h>
13
#include "CluHadConfig.h"
14
#include "ColourReconnector.fh"
15
16
namespace
Herwig
{
17
18
19
using namespace
ThePEG
;
20
36
class
ColourReconnector
:
public
Interfaced
{
37
38
public
:
39
46
void
rearrange(
ClusterVector
& clusters);
47
48
using
CluVecIt = ClusterVector::iterator;
49
50
private
:
51
59
Energy2 _clusterMassSum(
const
PVector
& q,
const
PVector
& aq)
const
;
60
61
69
bool
_containsColour8(
const
ClusterVector
& cv,
const
vector<size_t> & P)
const
;
70
76
void
_doRecoStatistical(
ClusterVector
& cv)
const
;
77
82
void
_doRecoPlain(
ClusterVector
& cv)
const
;
83
84
88
void
_doRecoBaryonic(
ClusterVector
& cv)
const
;
89
90
91
void
_makeBaryonicClusters(ClusterPtr &c1, ClusterPtr &c2, ClusterPtr &c3,
92
ClusterPtr &newcluster1, ClusterPtr &newcluster2)
const
;
93
94
107
CluVecIt _findRecoPartner(CluVecIt cl,
ClusterVector
& cv)
const
;
108
109
CluVecIt _findPartnerRapidity(CluVecIt cl,
ClusterVector
& cv)
const
;
110
111
CluVecIt _findPartnerBaryonic(CluVecIt cl,
ClusterVector
& cv,
112
bool
& tetraCand,
113
const
ClusterVector
& a,
114
CluVecIt &baryonic1,
115
CluVecIt &baryonic2 )
const
;
116
117
118
119
125
pair <ClusterPtr,ClusterPtr> _reconnect(ClusterPtr &c1, ClusterPtr &c2)
const
;
126
130
pair <ClusterPtr,ClusterPtr> _reconnectBaryonic(ClusterPtr &c1, ClusterPtr &c2)
const
;
131
132
143
pair <int,int>
144
_shuffle(
const
PVector
& q,
const
PVector
& aq,
unsigned
maxtries = 10)
const
;
145
146
152
int
_algorithm = 0;
153
157
int
_clreco = 0;
158
159
166
double
_initTemp = 0.01;
167
173
double
_annealingFactor = 0.21;
174
179
unsigned
int
_annealingSteps = 10;
180
186
double
_triesPerStepFactor = 0.66;
187
191
double
_preco = 0.5;
192
193
194
double
_precoBaryonic = 0.5;
195
203
Length _maxDistance = picometer;
204
209
bool
_isColour8(
tcPPtr
p,
tcPPtr
q)
const
;
210
214
unsigned
int
_octetOption = 0;
215
216
public
:
217
224
void
persistentOutput(
PersistentOStream
& os)
const
;
225
231
void
persistentInput(
PersistentIStream
& is,
int
version);
233
237
static
void
Init();
238
239
protected
:
240
247
virtual
IBPtr
clone()
const
;
248
253
virtual
IBPtr
fullclone()
const
;
255
256
257
private
:
258
262
ColourReconnector
& operator=(
const
ColourReconnector
&) =
delete
;
263
264
265
};
266
267
268
}
269
270
#endif
/* HERWIG_ColourReconnector_H */
271
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig::ColourReconnector
Class for changing colour reconnections of partons.
Definition:
ColourReconnector.h:36
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG
Herwig::ClusterVector
vector< ClusterPtr > ClusterVector
This file contains the typedef declarations used in Hadronization.
Definition:
CluHadConfig.h:38
ThePEG::tcPPtr
ThePEG::Ptr< Particle >::transient_const_pointer tcPPtr
ThePEG::Interfaced
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::PVector
vector< PPtr > PVector
Generated on Sat Apr 11 2020 14:50:29 for Herwig by
1.8.13