herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Shower
QTilde
Base
PartnerFinder.h
1
// -*- C++ -*-
2
//
3
// PartnerFinder.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_PartnerFinder_H
10
#define HERWIG_PartnerFinder_H
11
//
12
// This is the declaration of the PartnerFinder class.
13
//
14
#include "Herwig/Shower/QTilde/ShowerConfig.h"
15
#include "ThePEG/Interface/Interfaced.h"
16
#include "PartnerFinder.fh"
17
18
namespace
Herwig
{
19
20
using namespace
ThePEG
;
21
25
typedef
pair<tShowerParticlePtr,tShowerParticlePtr>
ShowerPPair
;
26
45
class
PartnerFinder
:
public
Interfaced
{
46
47
public
:
48
52
PartnerFinder
() : partnerMethod_(0), QEDPartner_(0), scaleChoice_(0) {}
53
77
virtual
void
setInitialEvolutionScales(
const
ShowerParticleVector
&particles,
78
const
bool
isDecayCase,
79
ShowerInteraction
,
80
const
bool
setPartners=
true
);
82
protected
:
83
90
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
91
96
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
98
99
100
public
:
101
108
void
persistentOutput(
PersistentOStream
& os)
const
;
109
115
void
persistentInput(
PersistentIStream
& is,
int
version);
117
124
static
void
Init();
125
126
protected
:
127
135
virtual
void
setInitialQCDEvolutionScales(
const
ShowerParticleVector
&particles,
136
const
bool
isDecayCase,
137
const
bool
setPartners=
true
);
138
142
virtual
void
setInitialQEDEvolutionScales(
const
ShowerParticleVector
&particles,
143
const
bool
isDecayCase,
144
const
bool
setPartners=
true
);
146
152
vector< pair<ShowerPartnerType, tShowerParticlePtr> >
153
findQCDPartners(tShowerParticlePtr particle,
const
ShowerParticleVector
&particles);
154
160
vector< pair<double, tShowerParticlePtr> >
161
findQEDPartners(tShowerParticlePtr particle,
const
ShowerParticleVector
&particles,
162
const
bool
isDecayCase);
163
164
public
:
177
pair<Energy,Energy> calculateInitialEvolutionScales(
const
ShowerPPair &,
178
const
bool
isDecayCase);
179
183
pair<Energy,Energy> calculateFinalFinalScales(
const
Lorentz5Momentum & p1,
184
const
Lorentz5Momentum & p2);
185
189
pair<Energy,Energy> calculateInitialInitialScales(
const
Lorentz5Momentum& p1,
190
const
Lorentz5Momentum& p2);
191
195
pair<Energy,Energy> calculateInitialFinalScales(
const
Lorentz5Momentum& pb,
const
Lorentz5Momentum& pc,
196
const
bool
isDecayCase);
197
198
200
201
private
:
202
207
PartnerFinder
& operator=(
const
PartnerFinder
&) =
delete
;
208
209
private
:
210
214
int
partnerMethod_
;
215
219
int
QEDPartner_
;
220
224
int
scaleChoice_
;
225
226
};
227
228
}
229
230
#endif
/* HERWIG_PartnerFinder_H */
ThePEG::PersistentIStream
Herwig::PartnerFinder
This class is responsible of two related tasks:
Definition:
PartnerFinder.h:45
Herwig::PartnerFinder::PartnerFinder
PartnerFinder()
The default constructor.
Definition:
PartnerFinder.h:52
Herwig::ShowerParticleVector
vector< ShowerParticlePtr > ShowerParticleVector
A Vector of ShowerParticle pointers.
Definition:
ShowerConfig.h:54
Herwig::ShowerInteraction
ShowerInteraction
Handy header file to be included in all Shower classes.
Definition:
ShowerInteraction.h:23
ThePEG::PersistentOStream
Herwig::PartnerFinder::QEDPartner_
int QEDPartner_
Choice for the QED radiation partner.
Definition:
PartnerFinder.h:219
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::PartnerFinder::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
PartnerFinder.h:96
ThePEG
ThePEG::Interfaced
Herwig::PartnerFinder::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
PartnerFinder.h:90
Herwig::PartnerFinder::scaleChoice_
int scaleChoice_
Choice of the scale.
Definition:
PartnerFinder.h:224
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::PartnerFinder::partnerMethod_
int partnerMethod_
Method for choosing colour partner.
Definition:
PartnerFinder.h:214
Herwig::ShowerPPair
pair< tShowerParticlePtr, tShowerParticlePtr > ShowerPPair
typedef of a pair of particle for calculating the evolution scales
Definition:
PartnerFinder.h:25
Generated on Sat Apr 11 2020 14:50:31 for Herwig by
1.8.13