ThePEG
1.8.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
EventRecord
MultiColour.h
1
// -*- C++ -*-
2
//
3
// MultiColour.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_MultiColour_H
10
#define THEPEG_MultiColour_H
11
//
12
// This is the declaration of the MultiColour class.
13
//
14
15
#include "ThePEG/EventRecord/ColourBase.h"
16
17
namespace
ThePEG {
18
24
class
MultiColour
:
public
ColourBase
{
25
26
public
:
27
28
using
ColourBase::colourLine
;
29
using
ColourBase::antiColourLine
;
30
35
virtual
vector<tcColinePtr>
antiColourLines
()
const
;
36
41
virtual
vector<tcColinePtr>
colourLines
()
const
;
42
47
virtual
void
colourLine
(
tColinePtr
line,
bool
anti =
false
);
48
53
virtual
void
colourLine
(
tColinePtr
line,
int
index,
bool
anti =
false
);
54
59
virtual
void
antiColourLine
(
tColinePtr
line);
60
65
virtual
void
antiColourLine
(
tColinePtr
line,
int
index);
66
72
virtual
void
removeColourLine
(
tcColinePtr
line,
bool
anti =
false
);
73
79
virtual
void
removeAntiColourLine
(
tcColinePtr
line);
80
85
virtual
bool
hasColourLine
(
tcColinePtr
line,
bool
anti =
false
)
const
;
86
87
public
:
88
95
void
persistentOutput
(
PersistentOStream
& os)
const
;
96
102
void
persistentInput
(
PersistentIStream
& is,
int
version);
104
111
static
void
Init
();
112
116
virtual
EIPtr
clone
()
const
{
return
new_ptr
(*
this
); }
117
118
private
:
119
123
list<cColinePtr>
theColourLines
;
124
128
list<cColinePtr>
theAntiColourLines
;
129
130
private
:
131
136
static
ClassDescription<MultiColour>
initMultiColour
;
137
142
MultiColour
&
operator=
(
const
MultiColour
&);
143
144
};
145
146
}
147
148
#include "ThePEG/Utilities/ClassTraits.h"
149
150
namespace
ThePEG {
151
156
template
<>
157
struct
BaseClassTrait<MultiColour,1> {
159
typedef
ColourBase
NthBase
;
160
};
161
164
template
<>
165
struct
ClassTraits<MultiColour>
166
:
public
ClassTraitsBase<MultiColour> {
168
static
string
className
() {
return
"ThePEG::MultiColour"
; }
176
static
string
library
() {
return
"MultiColour.so"
; }
177
};
178
181
}
182
183
#endif
/* THEPEG_MultiColour_H */
Generated on Sat Jun 16 2012 16:51:04 for ThePEG by
1.8.1.1