ThePEG
1.8.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
EventRecord
SubProcessGroup.h
1
// -*- C++ -*-
2
//
3
// SubProcessGroup.h is a part of ThePEG - Toolkit for HEP Event Generation
4
// Copyright (C) 1999-2007 Leif Lonnblad
5
// Copyright (C) 2009-2010 Simon Platzer
6
//
7
// ThePEG is licenced under version 2 of the GPL, see COPYING for details.
8
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
9
//
10
#ifndef ThePEG_SubProcessGroup_H
11
#define ThePEG_SubProcessGroup_H
12
// This is the declaration of the SubProcessGroup class.
13
14
#include "ThePEG/EventRecord/SubProcess.h"
15
16
namespace
ThePEG {
17
25
class
SubProcessGroup
:
public
SubProcess
{
26
27
public
:
28
35
SubProcessGroup
(
const
PPair
& newIncoming,
36
tCollPtr
newCollision =
tCollPtr
(),
37
tcEventBasePtr
newHandler =
tcEventBasePtr
());
38
42
virtual
~SubProcessGroup
();
43
47
virtual
SubProPtr
clone
()
const
;
48
49
protected
:
50
58
virtual
void
rebind
(
const
EventTranslationMap
& trans);
59
60
public
:
61
66
virtual
void
transform
(
const
LorentzRotation
&);
67
71
const
SubProcessVector
&
dependent
()
const
{
return
theDependent
; }
72
76
SubProcessVector
&
dependent
() {
return
theDependent
; }
77
81
void
add
(
tSubProPtr
sub) {
dependent
().push_back(sub); }
82
83
public
:
84
88
void
persistentOutput
(
PersistentOStream
&)
const
;
89
93
void
persistentInput
(
PersistentIStream
&,
int
);
94
98
static
void
Init
();
99
100
private
:
101
105
SubProcessVector
theDependent
;
106
107
public
:
108
112
virtual
void
printMe
(ostream&)
const
;
113
114
private
:
115
119
static
ClassDescription<SubProcessGroup>
initSubProcessGroup
;
120
125
SubProcessGroup
() :
SubProcess
() {}
126
131
friend
struct
ClassTraits
<
SubProcessGroup
>;
132
136
SubProcessGroup
&
operator=
(
const
SubProcessGroup
&);
137
138
};
139
140
145
template
<>
146
struct
BaseClassTrait
<
SubProcessGroup
,1>:
public
ClassTraitsType
{
148
typedef
EventRecordBase
NthBase
;
149
};
150
153
template
<>
154
struct
ClassTraits<SubProcessGroup>:
public
ClassTraitsBase<SubProcessGroup> {
156
static
string
className
() {
return
"ThePEG::SubProcessGroup"
; }
158
static
TPtr
create
() {
return
TPtr::Create
(SubProcessGroup()); }
159
};
160
163
}
164
165
#endif
/* ThePEG_SubProcessGroup_H */
Generated on Mon Jul 2 2012 16:06:48 for ThePEG by
1.8.1.1