thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
Handlers
StdXCombGroup.h
1
// -*- C++ -*-
2
//
3
// StdXCombGroup.h is a part of ThePEG - Toolkit for HEP Event Generation
4
// Copyright (C) 1999-2019 Leif Lonnblad
5
// Copyright (C) 2009-2019 Simon Platzer
6
//
7
// ThePEG is licenced under version 3 of the GPL, see COPYING for details.
8
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
9
//
10
#ifndef ThePEG_StdXCombGroup_H
11
#define ThePEG_StdXCombGroup_H
12
// This is the declaration of the StdXCombGroup class.
13
14
#include "StandardXComb.h"
15
#include "StdXCombGroup.fh"
16
#include "ThePEG/MatrixElement/MEGroup.fh"
17
18
namespace
ThePEG
{
19
26
class
StdXCombGroup
:
public
StandardXComb
{
27
29
friend
class
MEBase
;
30
31
public
:
32
38
StdXCombGroup
(
Energy
newMaxEnergy,
const
cPDPair
& inc,
39
tEHPtr
newEventHandler,tSubHdlPtr newSubProcessHandler,
40
tPExtrPtr
newExtractor,
tCascHdlPtr
newCKKW,
41
const
PBPair & newPartonBins, tCutsPtr newCuts, tMEGroupPtr newME,
42
const
DiagramVector
& newDiagrams,
bool
mir,
43
tStdXCombPtr newHead = tStdXCombPtr());
44
48
StdXCombGroup
();
49
53
virtual
~StdXCombGroup
();
54
55
public
:
56
60
virtual
void
clean
();
61
66
virtual
int
nDim
()
const
;
67
73
virtual
CrossSection
dSigDR
(
const
pair<double,double> ll,
int
nr,
const
double
* r);
74
78
CrossSection
lastHeadCrossSection
()
const
{
return
theLastHeadCrossSection
; }
79
83
const
vector<StdXCombPtr>&
dependent
()
const
{
return
theDependent
; }
84
89
tcMEGroupPtr
meGroup
()
const
{
return
theMEGroup
; }
90
94
void
build
(
const
PartonPairVec& allPBins);
95
99
virtual
tSubProPtr
construct
();
100
105
virtual
void
newSubProcess
(
bool
);
106
110
void
lastHeadCrossSection
(
CrossSection
xs) {
theLastHeadCrossSection
= xs; }
111
112
public
:
113
120
void
persistentOutput
(
PersistentOStream
& os)
const
;
121
127
void
persistentInput
(
PersistentIStream
& is,
int
version);
129
133
static
void
Init
();
134
135
private
:
136
140
MEGroupPtr
theMEGroup
;
141
145
vector<StdXCombPtr>
theDependent
;
146
150
CrossSection
theLastHeadCrossSection
;
151
152
private
:
153
157
static
ClassDescription<StdXCombGroup>
initStdXCombGroup
;
158
162
StdXCombGroup
&
operator=
(
const
StdXCombGroup
&) =
delete
;
163
164
};
165
172
template
<>
173
struct
BaseClassTrait
<
StdXCombGroup
,1> {
175
typedef
StandardXComb
NthBase
;
176
};
177
182
template
<>
183
struct
ClassTraits<StdXCombGroup>:
184
public
ClassTraitsBase<StdXCombGroup> {
186
static
string
className
() {
return
"ThePEG::StdXCombGroup"
; }
187
};
188
191
}
192
193
#endif
/* ThePEG_StdXCombGroup_H */
ThePEG::ClassDescription
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
Definition:
ClassDescription.h:333
ThePEG::MEBase
The MEBase class is the base class of all objects representing hard matrix elements in ThePEG.
Definition:
MEBase.h:72
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::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< std::ratio< L, DL >, std::ratio< E, DE >, std::ratio< Q, DQ > >
Definition:
PhysicalQty.h:77
ThePEG::Qty< 0, 1, 0 >
ThePEG::StandardXComb
The StandardXComb class inherits from the more general XComb class which stores all information about...
Definition:
StandardXComb.h:53
ThePEG::StandardXComb::DiagramVector
MEBase::DiagramVector DiagramVector
A vector of DiagramBase objects.
Definition:
StandardXComb.h:58
ThePEG::StdXCombGroup
The StdXCombGroup class represents a 'head' XComb object in association with a group of dependent XCo...
Definition:
StdXCombGroup.h:26
ThePEG::StdXCombGroup::lastHeadCrossSection
CrossSection lastHeadCrossSection() const
Return the cross section calculated from the head matrix element.
Definition:
StdXCombGroup.h:78
ThePEG::StdXCombGroup::nDim
virtual int nDim() const
The number of dimensions of the phase space used to generate this process.
ThePEG::StdXCombGroup::build
void build(const PartonPairVec &allPBins)
Initialize this XComb group.
ThePEG::StdXCombGroup::theLastHeadCrossSection
CrossSection theLastHeadCrossSection
The cross section calculated from the head matrix element.
Definition:
StdXCombGroup.h:150
ThePEG::StdXCombGroup::initStdXCombGroup
static ClassDescription< StdXCombGroup > initStdXCombGroup
Describe a concrete class with persistent data.
Definition:
StdXCombGroup.h:157
ThePEG::StdXCombGroup::theDependent
vector< StdXCombPtr > theDependent
The dependent XComb objects.
Definition:
StdXCombGroup.h:145
ThePEG::StdXCombGroup::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::StdXCombGroup::theMEGroup
MEGroupPtr theMEGroup
The MEGroup object.
Definition:
StdXCombGroup.h:140
ThePEG::StdXCombGroup::dSigDR
virtual CrossSection dSigDR(const pair< double, double > ll, int nr, const double *r)
Generate a phase space point from a vector r of nr numbers in the interval ]0,1[ and return the corre...
ThePEG::StdXCombGroup::dependent
const vector< StdXCombPtr > & dependent() const
Visit the dependent XComb objects.
Definition:
StdXCombGroup.h:83
ThePEG::StdXCombGroup::newSubProcess
virtual void newSubProcess(bool)
Construct the corresponding SubProcess object if it hasn't been done before.
ThePEG::StdXCombGroup::~StdXCombGroup
virtual ~StdXCombGroup()
Destructor.
ThePEG::StdXCombGroup::construct
virtual tSubProPtr construct()
Construct a sub-process object from the information available.
ThePEG::StdXCombGroup::meGroup
tcMEGroupPtr meGroup() const
Return the matrix element group steered by this XComb group.
Definition:
StdXCombGroup.h:89
ThePEG::StdXCombGroup::Init
static void Init()
Standard Init function used to initialize the interface.
ThePEG::StdXCombGroup::lastHeadCrossSection
void lastHeadCrossSection(CrossSection xs)
Set the cross section calculated from the head matrix element.
Definition:
StdXCombGroup.h:110
ThePEG::StdXCombGroup::operator=
StdXCombGroup & operator=(const StdXCombGroup &)=delete
Private and non-existent assignment operator.
ThePEG::StdXCombGroup::StdXCombGroup
StdXCombGroup()
Default constructor.
ThePEG::StdXCombGroup::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::StdXCombGroup::clean
virtual void clean()
Reset all saved data about last generated phasespace point;.
ThePEG::StdXCombGroup::StdXCombGroup
StdXCombGroup(Energy newMaxEnergy, const cPDPair &inc, tEHPtr newEventHandler, tSubHdlPtr newSubProcessHandler, tPExtrPtr newExtractor, tCascHdlPtr newCKKW, const PBPair &newPartonBins, tCutsPtr newCuts, tMEGroupPtr newME, const DiagramVector &newDiagrams, bool mir, tStdXCombPtr newHead=tStdXCombPtr())
Standard constructor.
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::cPDPair
pair< cPDPtr, cPDPtr > cPDPair
A pair of pointers to const ParticleData objects.
Definition:
Containers.h:118
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
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6