thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
PDT
RemnantData.h
1
// -*- C++ -*-
2
//
3
// RemnantData.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_RemnantData_H
10
#define THEPEG_RemnantData_H
11
//
12
// This is the declaration of the RemnantData class.
13
//
14
15
#include "ThePEG/PDT/ParticleData.h"
16
#include "ThePEG/PDT/RemnantData.fh"
17
#include "ThePEG/PDT/RemnantDecayer.fh"
18
#include "ThePEG/PDT/DecayMode.h"
19
20
namespace
ThePEG
{
21
46
class
RemnantData
:
public
ParticleData
{
47
48
public
:
49
57
RemnantData
(
tcPDPtr
particle, RemDecPtr
decayer
);
59
60
public
:
61
65
const
RemnantDecayer
&
decayer
()
const
{
66
return
*
theDecayer
;
67
};
68
73
bool
extract
(
tcPDPtr
parton);
74
79
bool
remove
(
tcPDPtr
parton);
80
85
bool
reextract
(
tcPDPtr
oldp,
tcPDPtr
newp);
86
87
protected
:
92
bool
fixColour
();
93
94
public
:
95
102
void
persistentOutput
(
PersistentOStream
& os)
const
;
103
109
void
persistentInput
(
PersistentIStream
& is,
int
version);
111
118
static
void
Init
();
119
120
protected
:
121
128
virtual
IBPtr
clone
()
const
;
129
134
virtual
IBPtr
fullclone
()
const
;
136
137
138
// If needed, insert declarations of virtual function defined in the
139
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
140
141
142
private
:
143
147
tcPDPtr
parentPD
;
148
152
RemDecPtr
theDecayer
;
153
157
DMPtr
decayMode
;
158
162
multiset<tcPDPtr>
extracted
;
163
164
protected
:
165
170
RemnantData
() {}
171
176
friend
struct
ClassTraits
<
RemnantData
>;
177
178
private
:
179
184
static
ClassDescription<RemnantData>
initRemnantData
;
185
190
RemnantData
&
operator=
(
const
RemnantData
&) =
delete
;
191
192
};
193
194
}
195
196
#include "ThePEG/Utilities/ClassTraits.h"
197
198
namespace
ThePEG
{
199
204
template
<>
205
struct
BaseClassTrait<RemnantData,1> {
207
typedef
ParticleData
NthBase
;
208
};
209
212
template
<>
213
struct
ClassTraits<RemnantData>
214
:
public
ClassTraitsBase<RemnantData> {
216
static
string
className
() {
return
"ThePEG::RemnantData"
; }
218
static
TPtr
create
() {
return
TPtr::Create
(RemnantData()); }
219
};
220
223
}
224
225
#endif
/* THEPEG_RemnantData_H */
ThePEG::ClassDescription
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
Definition:
ClassDescription.h:333
ThePEG::ParticleData
ParticleData inherits from InterfacedBase and represents the properties of a particle type.
Definition:
ParticleData.h:36
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::RCPtr::Create
static RCPtr Create()
Allocate and construct an object of class T and return a RCPtr to it.
Definition:
RCPtr.h:120
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::RemnantData
The RemnantData class is not a normal ParticleData class.
Definition:
RemnantData.h:46
ThePEG::RemnantData::reextract
bool reextract(tcPDPtr oldp, tcPDPtr newp)
Modify the properties to reflect that the previously extracted parton, oldp, was evolved backwards to...
ThePEG::RemnantData::RemnantData
RemnantData()
The default constructor is protected and must only be used by the PersistentIStream class via the Cla...
Definition:
RemnantData.h:170
ThePEG::RemnantData::RemnantData
RemnantData(tcPDPtr particle, RemDecPtr decayer)
The standard constructor takes as argument the particle type for which this is the remnant and a deca...
ThePEG::RemnantData::extracted
multiset< tcPDPtr > extracted
The set of extracted particle types.
Definition:
RemnantData.h:162
ThePEG::RemnantData::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::RemnantData::remove
bool remove(tcPDPtr parton)
Modify the properties to reflect that the given parton which was previously extracted is removed.
ThePEG::RemnantData::operator=
RemnantData & operator=(const RemnantData &)=delete
The assignment operator is private and must never be called.
ThePEG::RemnantData::theDecayer
RemDecPtr theDecayer
The Decayer responsible for for the decay of this remnant.
Definition:
RemnantData.h:152
ThePEG::RemnantData::extract
bool extract(tcPDPtr parton)
Modify the properties to reflect that the given parton was extracted.
ThePEG::RemnantData::parentPD
tcPDPtr parentPD
The particle type of the parent.
Definition:
RemnantData.h:147
ThePEG::RemnantData::clone
virtual IBPtr clone() const
Make a simple clone of this object.
ThePEG::RemnantData::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::RemnantData::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
ThePEG::RemnantData::Init
static void Init()
The standard Init function used to initialize the interfaces.
ThePEG::RemnantData::decayer
const RemnantDecayer & decayer() const
The Decayer responsible for for the decay of this remnant.
Definition:
RemnantData.h:65
ThePEG::RemnantData::decayMode
DMPtr decayMode
The only DecayMode available for this remnant.
Definition:
RemnantData.h:157
ThePEG::RemnantData::fixColour
bool fixColour()
Modify the colour to reflect that the given parton was extracted.
ThePEG::RemnantData::initRemnantData
static ClassDescription< RemnantData > initRemnantData
The static object used to initialize the description of this class.
Definition:
RemnantData.h:184
ThePEG::RemnantDecayer
The RemnantDecayer class is the base class to be used for all decayers capable of decaying a RemnantP...
Definition:
RemnantDecayer.h:34
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
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::create
static TPtr create()
Create a T object and return a smart pointer to it.
Definition:
ClassTraits.h:60
ThePEG::ClassTraitsBase::TPtr
ThePEG::Ptr< T >::pointer TPtr
Alias for a reference counted pointer to T .
Definition:
ClassTraits.h:54
ThePEG::ClassTraits
The default concrete implementation of ClassTraitsBase.
Definition:
ClassTraits.h:134
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6