ThePEG
1.8.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
PDT
RemnantData.h
1
// -*- C++ -*-
2
//
3
// RemnantData.h is a part of ThePEG - Toolkit for HEP Event Generation
4
// Copyright (C) 1999-2011 Leif Lonnblad
5
//
6
// ThePEG is licenced under version 2 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
&);
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 */
Generated on Sat Jun 16 2012 16:51:05 for ThePEG by
1.8.1.1