ThePEG
1.8.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
Helicity
Vertex
Vector
VVVVVertex.h
1
// -*- C++ -*-
2
//
3
// VVVVVertex.h is a part of ThePEG - Toolkit for HEP Event Generation
4
// Copyright (C) 2003-2011 Peter Richardson, 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_VVVVVertex_H
10
#define ThePEG_VVVVVertex_H
11
//
12
// This is the declaration of the VVVVVertex class.
13
14
#include "ThePEG/Helicity/Vertex/AbstractVVVVVertex.h"
15
#include "ThePEG/Helicity/WaveFunction/VectorWaveFunction.h"
16
#include "VVVVVertex.fh"
17
18
namespace
ThePEG {
19
namespace
Helicity{
20
39
class
VVVVVertex
:
public
AbstractVVVVVertex
{
40
41
public
:
42
46
static
void
Init
();
47
48
public
:
49
65
Complex
evaluate
(Energy2 q2,
int
iopt,
66
const
VectorWaveFunction
& vec1,
const
VectorWaveFunction
& vec2,
67
const
VectorWaveFunction
& vec3,
const
VectorWaveFunction
& vec4);
69
79
virtual
void
setCoupling
(Energy2 q2,
tcPDPtr
part1,
tcPDPtr
part2,
tcPDPtr
part3,
80
tcPDPtr
part4)=0;
81
82
protected
:
83
91
void
setOrder
(
int
id1,
int
id2,
int
id3,
int
id4) {
92
_iorder
[0]=id1;
93
_iorder
[1]=id2;
94
_iorder
[2]=id3;
95
_iorder
[3]=id4;
96
}
97
102
void
setType
(
int
itype) {
103
_itype
=itype;
104
}
105
113
void
setIntermediate
(
tcPDPtr
part1,
tcPDPtr
part2,
Complex
c1,
Complex
c2) {
114
_inter
[0]=part1;
115
_inter
[1]=part2;
116
_coup
[0]=c1;
117
_coup
[1]=c2;
118
}
119
120
private
:
121
125
static
AbstractNoPIOClassDescription<VVVVVertex>
initVVVVVertex
;
126
130
VVVVVertex
&
operator=
(
const
VVVVVertex
&);
131
132
private
:
133
137
int
_itype
;
138
142
int
_iorder
[4];
143
147
tcPDPtr
_inter
[2];
148
152
Complex
_coup
[2];
153
154
};
155
}
156
}
157
158
namespace
ThePEG {
159
166
template
<>
167
struct
BaseClassTrait<ThePEG::Helicity::VVVVVertex,1> {
169
typedef
ThePEG::Helicity::AbstractVVVVVertex
NthBase
;
170
};
171
176
template
<>
177
struct
ClassTraits<ThePEG::Helicity::VVVVVertex>
178
:
public
ClassTraitsBase<ThePEG::Helicity::VVVVVertex> {
179
183
static
string
className
() {
return
"ThePEG::VVVVVertex"
; }
184
};
185
188
}
189
190
#endif
/* ThePEG_VVVVVertex_H */
Generated on Sat Jun 16 2012 16:51:05 for ThePEG by
1.8.1.1