herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
ShowerKinematics.h
1// -*- C++ -*-
2//
3// ShowerKinematics.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_ShowerKinematics_H
10#define HERWIG_ShowerKinematics_H
11//
12// This is the declaration of the ShowerKinematics class.
13//
14
15#include "Herwig/Shower/QTilde/ShowerConfig.h"
17#include "Herwig/Shower/QTilde/SplittingFunctions/SudakovFormFactor.h"
18#include "Herwig/Shower/QTilde/Kinematics/ShowerKinematics.fh"
19
20namespace Herwig {
21
22using namespace ThePEG;
23
45class ShowerKinematics: public Base {
46
47public:
48
53 _scale(), _z( 0.0 ), _phi( 0.0 ), _pt(),
54 _sudakov() {}
55
59 ShowerKinematics(Energy scale, double z, double phi, Energy pt, tSudakovPtr sud)
60 : Base(),
61 _scale(scale), _z(z), _phi(phi), _pt(pt),
62 _sudakov(sud) {}
63
80 virtual void updateChildren(const tShowerParticlePtr parent,
81 const ShowerParticleVector & children,
82 unsigned int pTscheme,
83 ShowerPartnerType partnerType) const;
84
85 virtual void resetChildren( const tShowerParticlePtr parent,
86 const ShowerParticleVector & children) const;
87
95 virtual void updateParent(const tShowerParticlePtr parent,
96 const ShowerParticleVector & children,
97 unsigned int pTscheme,
98 ShowerPartnerType partnerType) const;
99
109 virtual void updateLast(const tShowerParticlePtr last,
110 Energy px, Energy py) const;
112
127 virtual void reconstructChildren(const tShowerParticlePtr parent,
128 const ShowerParticleVector & children) const;
129
136 virtual void reconstructParent(const tShowerParticlePtr parent,
137 const ParticleVector & children) const;
138
147 virtual void reconstructLast(const tShowerParticlePtr last, Energy mass=-1.*GeV) const;
149
150public:
151
159 Energy scale() const { return _scale; }
160
164 void scale(const Energy in) { _scale=in; }
165
169 double z() const { return _z; }
170
174 void z(const double in) { _z=in; }
175
179 double phi() const { return _phi; }
180
184 void phi(const double in) { _phi=in; }
185
189 Energy pT() const { return _pt; }
190
194 void pT(const Energy in) const { _pt=in; }
196
205 tSplittingFnPtr splittingFn() const { return _sudakov-> splittingFn(); }
207
215 tSudakovPtr SudakovFormFactor() const { return _sudakov; }
216
221 void SudakovFormFactor(const tSudakovPtr sud) { _sudakov=sud; }
223
224private:
225
231
232private:
233
237 Energy _scale;
238
242 double _z;
243
247 double _phi;
248
252 mutable Energy _pt;
253
257 tSudakovPtr _sudakov;
258
259};
260
261}
262
263#endif /* HERWIG_ShowerKinematics_H */
This is the abstract base class from which all other shower kinematics classes derive.
Energy pT() const
Access the relative for the branching.
void pT(const Energy in) const
Set the relative for the branching.
virtual void updateLast(const tShowerParticlePtr last, Energy px, Energy py) const
Update the kinematical data of a particle when a reconstruction fixpoint was found.
virtual void reconstructChildren(const tShowerParticlePtr parent, const ShowerParticleVector &children) const
The reconstructLast, reconstructChildren and reconstructParent members are used during the reconstruc...
virtual void reconstructParent(const tShowerParticlePtr parent, const ParticleVector &children) const
Reconstruct the parent Kinematics from the knowledge of the kinematics of the children.
virtual void reconstructLast(const tShowerParticlePtr last, Energy mass=-1.*GeV) const
Update the kinematical data of a particle when a reconstruction fixpoint was found.
double z() const
Access the energy fraction, .
void SudakovFormFactor(const tSudakovPtr sud)
Set the SudakovFormFactor object responsible of the eventual branching of this particle.
void z(const double in)
Set the energy fraction, .
tSplittingFnPtr splittingFn() const
Set and get methods for the SplittingFunction object.
Energy scale() const
Set/Get methods for the kinematic variables.
Energy _pt
The relative .
Energy _scale
The evolution variable.
ShowerKinematics()
The default constructor.
tSudakovPtr SudakovFormFactor() const
Set and get methods for the SudakovFormFactor object.
double _z
The energy fraction, .
ShowerKinematics & operator=(const ShowerKinematics &)=delete
The assignment operator is private and must never be called.
void phi(const double in)
Set the azimuthal angle, .
virtual void updateParent(const tShowerParticlePtr parent, const ShowerParticleVector &children, unsigned int pTscheme, ShowerPartnerType partnerType) const
Update the parent Kinematics from the knowledge of the kinematics of the children.
tSudakovPtr _sudakov
The splitting function for the branching of the particle.
virtual void updateChildren(const tShowerParticlePtr parent, const ShowerParticleVector &children, unsigned int pTscheme, ShowerPartnerType partnerType) const
The updateChildren and updateParent members to update the values of the and variables during the sh...
ShowerKinematics(Energy scale, double z, double phi, Energy pt, tSudakovPtr sud)
The default constructor.
double _phi
The azimuthal angle, .
double phi() const
Access the azimuthal angle, .
void scale(const Energy in)
Set the scale of the splitting.
-*- C++ -*-
ShowerPartnerType
Enum for the type of shower partner.
vector< ShowerParticlePtr > ShowerParticleVector
A Vector of ShowerParticle pointers.
Definition: ShowerConfig.h:54
vector< PPtr > ParticleVector