thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
PDT
FlatDecayer.h
1
// -*- C++ -*-
2
//
3
// FlatDecayer.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_FlatDecayer_H
10
#define ThePEG_FlatDecayer_H
11
// This is the declaration of the FlatDecayer class.
12
13
#include "ThePEG/PDT/Decayer.h"
14
15
namespace
ThePEG
{
16
33
class
FlatDecayer
:
public
Decayer
{
34
35
public
:
36
46
virtual
bool
accept
(
const
DecayMode
& dm)
const
;
47
54
virtual
ParticleVector
decay
(
const
DecayMode
& dm,
const
Particle
& p)
const
;
55
67
virtual
double
reweight
(
const
DecayMode
&,
const
Particle
& ,
68
const
ParticleVector
& )
const
{
69
return
1.0;
70
}
72
73
public
:
74
78
static
void
Init
();
79
80
protected
:
81
88
virtual
IBPtr
clone
()
const
;
89
94
virtual
IBPtr
fullclone
()
const
;
96
97
private
:
98
102
static
NoPIOClassDescription<FlatDecayer>
initFlatDecayer
;
103
107
FlatDecayer
&
operator=
(
const
FlatDecayer
&) =
delete
;
108
109
};
110
111
}
112
113
114
namespace
ThePEG
{
115
120
template
<>
121
struct
BaseClassTrait<FlatDecayer,1>:
public
ClassTraitsType {
123
typedef
Decayer
NthBase
;
124
};
125
128
template
<>
129
struct
ClassTraits<FlatDecayer>:
public
ClassTraitsBase<FlatDecayer> {
131
static
string
className
() {
return
"ThePEG::FlatDecayer"
; }
132
};
133
136
}
137
138
#endif
/* ThePEG_FlatDecayer_H */
ThePEG::DecayMode
The DecayMode class describes a decay channel of a particle.
Definition:
DecayMode.h:87
ThePEG::Decayer
Decayer is an abstract base class to specify objects modelling the decay of a particle.
Definition:
Decayer.h:29
ThePEG::FlatDecayer
The FlatDecayer class inrerits from the abstract Decayer class and implements the decay of a given Pa...
Definition:
FlatDecayer.h:33
ThePEG::FlatDecayer::initFlatDecayer
static NoPIOClassDescription< FlatDecayer > initFlatDecayer
Describe a concrete class without persistent data.
Definition:
FlatDecayer.h:102
ThePEG::FlatDecayer::clone
virtual IBPtr clone() const
Make a simple clone of this object.
ThePEG::FlatDecayer::decay
virtual ParticleVector decay(const DecayMode &dm, const Particle &p) const
Perform a decay for a given DecayMode and a given Particle instance.
ThePEG::FlatDecayer::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
ThePEG::FlatDecayer::accept
virtual bool accept(const DecayMode &dm) const
Check if this decayer can perfom the decay specified by the given decay mode.
ThePEG::FlatDecayer::Init
static void Init()
Standard Init function used to initialize the interfaces.
ThePEG::FlatDecayer::operator=
FlatDecayer & operator=(const FlatDecayer &)=delete
Private and non-existent assignment operator.
ThePEG::FlatDecayer::reweight
virtual double reweight(const DecayMode &, const Particle &, const ParticleVector &) const
Give a weight to a phase space point.
Definition:
FlatDecayer.h:67
ThePEG::NoPIOClassDescription
A concreate implementation of ClassDescriptionBase describing a concrete class without persistent dat...
Definition:
ClassDescription.h:381
ThePEG::Particle
The Particle class is used to describe an instance of a particle.
Definition:
Particle.h:83
ThePEG::Pointer::RCPtr
RCPtr is a reference counted (smart) pointer.
Definition:
RCPtr.h:60
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::ParticleVector
vector< PPtr > ParticleVector
A vector of pointers to Particle objects.
Definition:
Containers.h:73
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