ThePEG
1.8.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
PDF
BeamParticleData.h
1
// -*- C++ -*-
2
//
3
// BeamParticleData.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_BeamParticleData_H
10
#define ThePEG_BeamParticleData_H
11
// This is the declaration of the BeamParticleData class.
12
13
#include "ThePEG/PDT/ParticleData.h"
14
#include "ThePEG/PDF/PDFBase.h"
15
#include "BeamParticleData.xh"
16
17
namespace
ThePEG {
18
29
class
BeamParticleData
:
public
virtual
ParticleData
{
30
31
public
:
32
38
BeamParticleData
() {}
40
47
static
PDPtr
Create
(
long
newId,
string
newPDGName);
48
54
static
PDPair
Create
(
long
newId,
string
newPDGName,
string
newAntiPDGName);
56
57
public
:
58
63
tcPDFPtr
pdf
()
const
{
return
thePDF
; }
64
65
public
:
66
73
void
persistentOutput
(
PersistentOStream
& os)
const
;
74
80
void
persistentInput
(
PersistentIStream
& is,
int
version);
82
86
static
void
Init
();
87
88
protected
:
89
94
BeamParticleData
(
long
newId,
string
newPDGName);
95
99
virtual
PDPtr
pdclone
()
const
;
100
101
private
:
102
106
void
setPDF
(
PDFPtr
);
107
108
private
:
109
113
PDFPtr
thePDF
;
114
115
private
:
116
120
static
ClassDescription<BeamParticleData>
initBeamParticleData
;
121
125
BeamParticleData
&
operator=
(
const
BeamParticleData
&);
126
127
};
128
133
template
<>
134
struct
BaseClassTrait
<
BeamParticleData
,1>:
public
ClassTraitsType
{
136
typedef
ParticleData
NthBase
;
137
};
138
141
template
<>
142
struct
ClassTraits<BeamParticleData>:
143
public
ClassTraitsBase<BeamParticleData> {
145
static
string
className
() {
return
"ThePEG::BeamParticleData"
; }
146
};
147
150
}
151
152
#endif
/* ThePEG_BeamParticleData_H */
Generated on Mon Jul 2 2012 16:06:46 for ThePEG by
1.8.1.1