thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
PDF
PartonBin.h
1
// -*- C++ -*-
2
//
3
// PartonBin.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_PartonBin_H
10
#define ThePEG_PartonBin_H
11
// This is the declaration of the PartonBin class.
12
13
#include "
ThePEG/Config/ThePEG.h
"
14
#include "ThePEG/Utilities/ClassDescription.h"
15
#include "ThePEG/Utilities/Maths.h"
16
#include "ThePEG/PDF/PDFBase.h"
17
#include "ThePEG/PDF/PDFCuts.h"
18
#include "ThePEG/Vectors/Transverse.h"
19
#include "ThePEG/EventRecord/Particle.h"
20
#include "PartonBin.fh"
21
22
namespace
ThePEG
{
23
38
class
PartonBin
:
public
Base
{
39
40
public
:
41
43
typedef
vector<PBPtr>
PBVector
;
44
45
public
:
46
61
PartonBin
(
tcPDPtr
p, tPBPtr prev,
tcPDPtr
pi,
tcPDFPtr
pdf
,
62
const
PDFCuts
& newCuts);
63
67
PartonBin
();
68
72
virtual
~PartonBin
();
74
75
public
:
76
82
tcPDPtr
particle
()
const
{
return
theParticle
; }
83
88
tPBPtr
incoming
()
const
{
return
theIncomingBin
; }
89
94
const
PBVector
&
outgoing
()
const
{
return
theOutgoing
; }
95
100
void
addOutgoing
(tPBPtr pb) {
theOutgoing
.push_back(pb); }
101
105
tcPDPtr
parton
()
const
{
return
theParton
; }
106
111
tcPDFPtr
pdf
()
const
{
return
thePDF
; }
112
116
tcRemHPtr
remnantHandler
()
const
{
return
theRemnantHandler
; }
117
124
int
nDim
(
bool
doscale);
125
130
int
pdfDim
()
const
{
return
thePDFDim
; }
131
136
int
remDim
()
const
{
return
theRemDim
; }
138
144
const
PDFCuts
&
cuts
()
const
{
return
theCuts
; }
145
149
tPBPtr
getFirst
();
151
152
public
:
153
160
void
persistentOutput
(
PersistentOStream
& os)
const
;
161
167
void
persistentInput
(
PersistentIStream
& is,
int
version);
169
173
static
void
Init
();
174
175
private
:
176
180
cPDPtr
theParticle
;
181
186
tPBPtr
theIncomingBin
;
187
192
PBVector
theOutgoing
;
193
197
cPDPtr
theParton
;
198
203
cPDFPtr
thePDF
;
204
208
cRemHPtr
theRemnantHandler
;
209
214
int
thePDFDim
;
215
220
int
theRemDim
;
221
225
PDFCuts
theCuts
;
226
227
private
:
228
232
static
ClassDescription<PartonBin>
initPartonBin
;
233
237
PartonBin
&
operator=
(
const
PartonBin
&) =
delete
;
238
239
};
240
245
template
<>
246
struct
BaseClassTrait
<
PartonBin
,1>:
public
ClassTraitsType
{
248
typedef
Base
NthBase
;
249
};
250
253
template
<>
254
struct
ClassTraits<PartonBin>:
public
ClassTraitsBase<PartonBin> {
256
static
string
className
() {
return
"ThePEG::PartonBin"
; }
257
};
258
261
}
262
263
#endif
/* ThePEG_PartonBin_H */
ThePEG.h
This is the main config header file for ThePEG.
ThePEG::ClassDescription
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
Definition:
ClassDescription.h:333
ThePEG::PDFCuts
The PDFCuts class is used to specify cuts on scale and momentum fractions for which a PDFBase object ...
Definition:
PDFCuts.h:27
ThePEG::PartonBin
The PartonBin class is used by the PartonExtractor class to store information about the extraction of...
Definition:
PartonBin.h:38
ThePEG::PartonBin::pdfDim
int pdfDim() const
Return the number of degrees of freedom used by the parton density and remnant handler.
Definition:
PartonBin.h:130
ThePEG::PartonBin::thePDF
cPDFPtr thePDF
The PDFBase object describing the momentum distribution of the parton within the particle in this Par...
Definition:
PartonBin.h:203
ThePEG::PartonBin::theRemDim
int theRemDim
The number of degrees of freedom needed to generate the phase space for this parton for the remnant h...
Definition:
PartonBin.h:220
ThePEG::PartonBin::remDim
int remDim() const
Return the number of degrees of freedom used by the parton density and remnant handler.
Definition:
PartonBin.h:136
ThePEG::PartonBin::PBVector
vector< PBPtr > PBVector
A vector of pointers to PartonBin objects.
Definition:
PartonBin.h:43
ThePEG::PartonBin::theCuts
PDFCuts theCuts
The cuts specified for this bin.
Definition:
PartonBin.h:225
ThePEG::PartonBin::pdf
tcPDFPtr pdf() const
The PDFBase object describing the momentum distribution of the parton within the particle in this Par...
Definition:
PartonBin.h:111
ThePEG::PartonBin::theParton
cPDPtr theParton
The extracted parton type.
Definition:
PartonBin.h:197
ThePEG::PartonBin::getFirst
tPBPtr getFirst()
Return the parton bin corresponding to the first incoming particle.
ThePEG::PartonBin::initPartonBin
static ClassDescription< PartonBin > initPartonBin
Describe a concrete class with persistent data.
Definition:
PartonBin.h:232
ThePEG::PartonBin::remnantHandler
tcRemHPtr remnantHandler() const
The remnant handler associated with the pdf().
Definition:
PartonBin.h:116
ThePEG::PartonBin::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::PartonBin::operator=
PartonBin & operator=(const PartonBin &)=delete
Private and non-existent assignment operator.
ThePEG::PartonBin::particle
tcPDPtr particle() const
The incoming particle type.
Definition:
PartonBin.h:82
ThePEG::PartonBin::thePDFDim
int thePDFDim
The number of degrees of freedom needed to generate the phase space for this parton for the parton de...
Definition:
PartonBin.h:214
ThePEG::PartonBin::theParticle
cPDPtr theParticle
The incoming particle type.
Definition:
PartonBin.h:180
ThePEG::PartonBin::outgoing
const PBVector & outgoing() const
The parton bins corresponding to the extracted parton if it in turn can be extracted from.
Definition:
PartonBin.h:94
ThePEG::PartonBin::theOutgoing
PBVector theOutgoing
The parton bins corresponding to the extracted parton if it itself can be extracted from.
Definition:
PartonBin.h:192
ThePEG::PartonBin::theIncomingBin
tPBPtr theIncomingBin
In the case the incoming particle in turn is extracted from another particle, return the PartonBin fo...
Definition:
PartonBin.h:186
ThePEG::PartonBin::cuts
const PDFCuts & cuts() const
Return the cuts specified for this bin.
Definition:
PartonBin.h:144
ThePEG::PartonBin::~PartonBin
virtual ~PartonBin()
Destructor.
ThePEG::PartonBin::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::PartonBin::PartonBin
PartonBin()
Default constructor.
ThePEG::PartonBin::PartonBin
PartonBin(tcPDPtr p, tPBPtr prev, tcPDPtr pi, tcPDFPtr pdf, const PDFCuts &newCuts)
Standard constructor.
ThePEG::PartonBin::theRemnantHandler
cRemHPtr theRemnantHandler
The remnant handler associated with the pdf().
Definition:
PartonBin.h:208
ThePEG::PartonBin::incoming
tPBPtr incoming() const
In the case the incoming particle in turn is extracted from another particle, return the PartonBin fo...
Definition:
PartonBin.h:88
ThePEG::PartonBin::parton
tcPDPtr parton() const
The extracted parton type.
Definition:
PartonBin.h:105
ThePEG::PartonBin::Init
static void Init()
Standard Init function used to initialize the interface.
ThePEG::PartonBin::addOutgoing
void addOutgoing(tPBPtr pb)
Add a parton bin corresponding to the extracted parton if it in turn can be extracted from.
Definition:
PartonBin.h:100
ThePEG::PartonBin::nDim
int nDim(bool doscale)
Detemine the number of degrees of freedom needed to generate the phase space of this and parent parto...
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::ConstRCPtr
ConstRCPtr is a reference counted (smart) const pointer.
Definition:
RCPtr.h:320
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
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
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::Base
Define the base class from which all (polymorphic) classes in ThePEG are derived.
Definition:
ThePEG.h:54
ThePEG::ClassTraitsBase::className
static string className()
Return the name of class T.
Definition:
ClassTraits.h:66
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