thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
PDF
UnResolvedRemnant.h
1
// -*- C++ -*-
2
//
3
// UnResolvedRemnant.h is a part of ThePEG - Toolkit for HEP Event Generation
4
// Copyright (C) 1999-2019 Leif Lonnblad
5
//
6
// ThePEG 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 ThePEG_UnResolvedRemnant_H
10
#define ThePEG_UnResolvedRemnant_H
11
12
#include "ThePEG/PDF/RemnantHandler.h"
13
14
namespace
ThePEG
{
15
26
class
UnResolvedRemnant
:
public
RemnantHandler
{
27
28
public
:
29
35
UnResolvedRemnant
();
37
38
public
:
39
46
virtual
bool
canHandle
(
tcPDPtr
particle,
const
cPDVector
& partons)
const
;
47
58
virtual
int
nDim
(
const
PartonBin
& pb,
bool
doScale)
const
;
59
68
virtual
bool
recreateRemnants
(
PartonBinInstance
& pb,
tPPtr
oldp,
tPPtr
newp,
69
double
newl,
Energy2
scale,
70
const
LorentzMomentum
& p,
71
const
PVector
& prev =
PVector
())
const
;
84
virtual
bool
recreateRemnants
(
PartonBinInstance
& pb,
tPPtr
oldp,
tPPtr
newp,
85
double
newl,
Energy2
scale,
86
Energy2
shat,
const
LorentzMomentum
& p,
87
const
PVector
& prev =
PVector
())
const
;
88
104
virtual
Lorentz5Momentum
generate
(
PartonBinInstance
& pb,
const
double
* r,
105
Energy2
scale,
106
const
LorentzMomentum
& p,
107
bool
fixedPartonMomentum =
false
)
const
;
108
123
virtual
Lorentz5Momentum
generate
(
PartonBinInstance
& pb,
const
double
* r,
124
Energy2
scale,
Energy2
shat,
125
const
LorentzMomentum
& parent,
126
bool
fixedPartonMomentum =
false
)
const
;
128
129
public
:
130
137
void
persistentOutput
(
PersistentOStream
& os)
const
;
138
144
void
persistentInput
(
PersistentIStream
& is,
int
version);
146
150
static
void
Init
();
151
152
protected
:
153
160
virtual
IBPtr
clone
()
const
;
161
166
virtual
IBPtr
fullclone
()
const
;
168
176
virtual
void
doinit
();
178
179
private
:
180
184
double
minX
;
185
189
tPDPtr
thePhoton
;
190
191
private
:
192
196
static
ClassDescription<UnResolvedRemnant>
initUnResolvedRemnant
;
197
201
UnResolvedRemnant
&
operator=
(
const
UnResolvedRemnant
&) =
delete
;
202
203
};
204
209
template
<>
210
struct
BaseClassTrait
<
UnResolvedRemnant
,1>:
public
ClassTraitsType
{
212
typedef
RemnantHandler
NthBase
;
213
};
214
218
template
<>
219
struct
ClassTraits<UnResolvedRemnant>:
220
public
ClassTraitsBase<UnResolvedRemnant> {
222
static
string
className
() {
return
"ThePEG::UnResolvedRemnant"
; }
226
static
string
library
() {
return
"UnResolvedRemnant.so"
; }
227
};
228
231
}
232
233
#endif
/* ThePEG_UnResolvedRemnant_H */
ThePEG::ClassDescription
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
Definition:
ClassDescription.h:333
ThePEG::Lorentz5Vector< Energy >
ThePEG::LorentzVector< Energy >
ThePEG::PartonBinInstance
PartonBinInstance is used to store information about the generation of a given parton extraction for ...
Definition:
PartonBinInstance.h:28
ThePEG::PartonBin
The PartonBin class is used by the PartonExtractor class to store information about the extraction of...
Definition:
PartonBin.h:38
ThePEG::PersistentIStream
PersistentIStream is used to read persistent objects from a stream where they were previously written...
Definition:
PersistentIStream.h:48
ThePEG::PersistentOStream
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
Definition:
PersistentOStream.h:51
ThePEG::Pointer::RCPtr
RCPtr is a reference counted (smart) pointer.
Definition:
RCPtr.h:60
ThePEG::Pointer::TransientConstRCPtr
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
Definition:
RCPtr.h:696
ThePEG::Pointer::TransientRCPtr
TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr a...
Definition:
RCPtr.h:519
ThePEG::Qty< 0, 2, 0 >
ThePEG::RemnantHandler
RemnantHandler is an abstract base class for implementing classes used to generate remnants when part...
Definition:
RemnantHandler.h:31
ThePEG::UnResolvedRemnant
UnResolvedRemnant inherits from the RemnantHandler and implements the generation of either the incomi...
Definition:
UnResolvedRemnant.h:26
ThePEG::UnResolvedRemnant::initUnResolvedRemnant
static ClassDescription< UnResolvedRemnant > initUnResolvedRemnant
Describe a concrete class with persistent data.
Definition:
UnResolvedRemnant.h:196
ThePEG::UnResolvedRemnant::thePhoton
tPDPtr thePhoton
Easy access to a photon data object.
Definition:
UnResolvedRemnant.h:189
ThePEG::UnResolvedRemnant::UnResolvedRemnant
UnResolvedRemnant()
Default constructor.
ThePEG::UnResolvedRemnant::nDim
virtual int nDim(const PartonBin &pb, bool doScale) const
If the generation of remnants is expected to influence the actual cross section of the hard sub proce...
ThePEG::UnResolvedRemnant::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::UnResolvedRemnant::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
ThePEG::UnResolvedRemnant::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
ThePEG::UnResolvedRemnant::clone
virtual IBPtr clone() const
Make a simple clone of this object.
ThePEG::UnResolvedRemnant::canHandle
virtual bool canHandle(tcPDPtr particle, const cPDVector &partons) const
Return true if this remnant handler can handle extracting all specified partons form the given partic...
ThePEG::UnResolvedRemnant::minX
double minX
The minimum energy fraction allowed for a photon remnant.
Definition:
UnResolvedRemnant.h:184
ThePEG::UnResolvedRemnant::operator=
UnResolvedRemnant & operator=(const UnResolvedRemnant &)=delete
Private and non-existent assignment operator.
ThePEG::UnResolvedRemnant::recreateRemnants
virtual bool recreateRemnants(PartonBinInstance &pb, tPPtr oldp, tPPtr newp, double newl, Energy2 scale, Energy2 shat, const LorentzMomentum &p, const PVector &prev=PVector()) const
Redo the remnant generation for the given particle bin, pb.
ThePEG::UnResolvedRemnant::Init
static void Init()
Standard Init function used to initialize the interface.
ThePEG::UnResolvedRemnant::generate
virtual Lorentz5Momentum generate(PartonBinInstance &pb, const double *r, Energy2 scale, Energy2 shat, const LorentzMomentum &parent, bool fixedPartonMomentum=false) const
Generate the momentum of the extracted parton with the parent momentum given by the last argument.
ThePEG::UnResolvedRemnant::generate
virtual Lorentz5Momentum generate(PartonBinInstance &pb, const double *r, Energy2 scale, const LorentzMomentum &p, bool fixedPartonMomentum=false) const
Generate momenta.
ThePEG::UnResolvedRemnant::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::UnResolvedRemnant::recreateRemnants
virtual bool recreateRemnants(PartonBinInstance &pb, tPPtr oldp, tPPtr newp, double newl, Energy2 scale, const LorentzMomentum &p, const PVector &prev=PVector()) const
Redo the remnant generation for the given particle bin, pb.
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::PVector
vector< PPtr > PVector
A vector of pointers to Particle objects.
Definition:
Containers.h:76
ThePEG::cPDVector
vector< cPDPtr > cPDVector
A vector of pointers to const ParticleData objects.
Definition:
Containers.h:36
ThePEG::BaseClassTrait
BaseClassTraits describes the base classes of the templated class.
Definition:
ClassTraits.h:156
ThePEG::BaseClassTrait::NthBase
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition:
ClassTraits.h:161
ThePEG::ClassTraitsBase::className
static string className()
Return the name of class T.
Definition:
ClassTraits.h:66
ThePEG::ClassTraitsBase::library
static string library()
The name of a file containing the dynamic library where the class T is implemented.
Definition:
ClassTraits.h:85
ThePEG::ClassTraitsType
ClassTraitsType is an empty, non-polymorphic, base class.
Definition:
ClassTraits.h:30
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6