herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
BlobME.h
1
// -*- C++ -*-
2
#ifndef Herwig_BlobME_H
3
#define Herwig_BlobME_H
4
//
5
// This is the declaration of the BlobME class.
6
//
7
8
#include "ThePEG/MatrixElement/BlobMEBase.h"
9
#include "Herwig/MatrixElement/Matchbox/Phasespace/MatchboxPhasespace.h"
10
11
namespace
Herwig
{
12
13
using namespace
ThePEG
;
14
24
class
BlobME
:
public
BlobMEBase
{
25
26
public
:
27
33
BlobME
();
34
38
virtual
~BlobME
();
40
41
public
:
42
47
virtual
Energy2
scale
()
const
{
48
return
lastSHat
();
49
}
50
59
virtual
bool
generateKinematics
(
const
double
* r) {
60
jacobian
(
thePhasespace
->generateTwoToNKinematics(r,
meMomenta
()));
61
return
jacobian
() > 0.0;
62
}
63
67
size_t
nAdditional
()
const
{
return
theNAdditional
; }
68
72
void
nAdditional
(
size_t
n) {
theNAdditional
= n; }
73
77
virtual
size_t
nOutgoing
()
const
= 0;
78
83
virtual
int
nDim
()
const
{
84
return
thePhasespace
->nDimPhasespace(
nOutgoing
()+
nAdditional
());
85
}
86
90
virtual
void
setXComb
(tStdXCombPtr xc);
91
95
Ptr<MatchboxPhasespace>::tptr
phasespace
()
const
{
return
thePhasespace
; }
96
97
public
:
98
105
void
persistentOutput
(
PersistentOStream
& os)
const
;
106
112
void
persistentInput
(
PersistentIStream
& is,
int
version);
114
121
static
void
Init
();
122
123
// If needed, insert declarations of virtual function defined in the
124
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
125
126
private
:
127
131
Ptr<MatchboxPhasespace>::ptr
thePhasespace
;
132
136
size_t
theNAdditional
;
137
138
private
:
139
144
BlobME
&
operator=
(
const
BlobME
&) =
delete
;
145
146
};
147
148
}
149
150
#endif
/* Herwig_BlobME_H */
Herwig::BlobME
BlobME serves as a base class for special processes such as instanton or sphaleron induced ones.
Definition:
BlobME.h:24
Herwig::BlobME::~BlobME
virtual ~BlobME()
The destructor.
Herwig::BlobME::nDim
virtual int nDim() const
The number of internal degreed of freedom used in the matrix element.
Definition:
BlobME.h:83
Herwig::BlobME::BlobME
BlobME()
The default constructor.
Herwig::BlobME::nOutgoing
virtual size_t nOutgoing() const =0
Return the minimal number of final state particles.
Herwig::BlobME::operator=
BlobME & operator=(const BlobME &)=delete
The assignment operator is private and must never be called.
Herwig::BlobME::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::BlobME::theNAdditional
size_t theNAdditional
The multiplicity of additional objects to consider.
Definition:
BlobME.h:136
Herwig::BlobME::phasespace
Ptr< MatchboxPhasespace >::tptr phasespace() const
Return the phase space used.
Definition:
BlobME.h:95
Herwig::BlobME::nAdditional
void nAdditional(size_t n)
Set the additional number of objects to generate.
Definition:
BlobME.h:72
Herwig::BlobME::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::BlobME::nAdditional
size_t nAdditional() const
Return the additional number of objects to generate.
Definition:
BlobME.h:67
Herwig::BlobME::thePhasespace
Ptr< MatchboxPhasespace >::ptr thePhasespace
The phase space to be used.
Definition:
BlobME.h:131
Herwig::BlobME::scale
virtual Energy2 scale() const
Return the scale associated with the phase space point provided by the last call to setKinematics().
Definition:
BlobME.h:47
Herwig::BlobME::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::BlobME::generateKinematics
virtual bool generateKinematics(const double *r)
Generate internal degrees of freedom given nDim() uniform random numbers in the interval ]0,...
Definition:
BlobME.h:59
Herwig::BlobME::setXComb
virtual void setXComb(tStdXCombPtr xc)
Set the xcomb object.
ThePEG::BlobMEBase
ThePEG::LastXCombInfo< StandardXComb >::jacobian
double jacobian() const
ThePEG::LastXCombInfo< StandardXComb >::lastSHat
Energy2 lastSHat() const
ThePEG::MEBase::meMomenta
vector< Lorentz5Momentum > & meMomenta()
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6