thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
PDT
ConstituentParticleData.h
1
// -*- C++ -*-
2
//
3
// ConstituentParticleData.h is a part of ThePEG - Toolkit for HEP Event Generation
4
// Copyright (C) 1999-2019 Leif Lonnblad
5
//
6
// ThePEG is licenced under version 3 of the GPL, see COPYING for details.
7
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8
//
9
#ifndef ThePEG_ConstituentParticleData_H
10
#define ThePEG_ConstituentParticleData_H
11
// This is the declaration of the ConstituentParticleData class.
12
13
#include "ThePEG/PDT/ParticleData.h"
14
15
namespace
ThePEG
{
16
25
class
ConstituentParticleData
:
public
virtual
ParticleData
{
26
27
public
:
28
34
ConstituentParticleData
()
35
:
theConstituentMass
(
ZERO
),
theDefaultConstituentMass
(
ZERO
) {}
37
44
static
PDPtr
Create
(
long
newId,
string
newPDGName);
45
49
static
PDPair
Create
(
long
newId,
string
newPDGName,
string
newAntiPDGName);
51
52
public
:
53
57
virtual
Energy
constituentMass
()
const
{
return
theConstituentMass
; }
58
59
public
:
60
67
void
persistentOutput
(
PersistentOStream
& os)
const
;
68
74
void
persistentInput
(
PersistentIStream
& is,
int
version);
76
80
static
void
Init
();
81
82
protected
:
83
88
ConstituentParticleData
(
long
newId,
string
newPDGName);
89
95
virtual
void
readSetup
(istream & is);
96
100
virtual
PDPtr
pdclone
()
const
;
101
102
private
:
103
107
void
setConstituentMass
(
Energy
m);
108
112
Energy
defConstituentMass
()
const
;
113
114
private
:
115
119
Energy
theConstituentMass
;
120
124
Energy
theDefaultConstituentMass
;
125
126
private
:
127
131
static
ClassDescription<ConstituentParticleData>
initConstituentParticleData
;
132
136
ConstituentParticleData
&
operator=
(
const
ConstituentParticleData
&) =
delete
;
137
138
};
139
144
template
<>
145
struct
BaseClassTrait
<
ConstituentParticleData
,1>:
public
ClassTraitsType
{
147
typedef
ParticleData
NthBase
;
148
};
149
152
template
<>
153
struct
ClassTraits<ConstituentParticleData>:
154
public
ClassTraitsBase<ConstituentParticleData> {
156
static
string
className
() {
return
"ThePEG::ConstituentParticleData"
; }
157
};
158
161
}
162
163
#endif
/* ThePEG_ConstituentParticleData_H */
ThePEG::ClassDescription
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
Definition:
ClassDescription.h:333
ThePEG::ConstituentParticleData
ConstituentParticleData inherits from the ParticleData class and is used for quarks,...
Definition:
ConstituentParticleData.h:25
ThePEG::ConstituentParticleData::operator=
ConstituentParticleData & operator=(const ConstituentParticleData &)=delete
Private and non-existent assignment operator.
ThePEG::ConstituentParticleData::theConstituentMass
Energy theConstituentMass
The constituent mass of this parton.
Definition:
ConstituentParticleData.h:119
ThePEG::ConstituentParticleData::constituentMass
virtual Energy constituentMass() const
Return the constituent mass of this parton.
Definition:
ConstituentParticleData.h:57
ThePEG::ConstituentParticleData::ConstituentParticleData
ConstituentParticleData()
Default constructor.
Definition:
ConstituentParticleData.h:34
ThePEG::ConstituentParticleData::ConstituentParticleData
ConstituentParticleData(long newId, string newPDGName)
Protected constructor only to be used by subclasses or by the Create method.
ThePEG::ConstituentParticleData::initConstituentParticleData
static ClassDescription< ConstituentParticleData > initConstituentParticleData
Describe a concrete class with persistent data.
Definition:
ConstituentParticleData.h:131
ThePEG::ConstituentParticleData::Create
static PDPair Create(long newId, string newPDGName, string newAntiPDGName)
Create a particle - anti particle pair.
ThePEG::ConstituentParticleData::Create
static PDPtr Create(long newId, string newPDGName)
Create a Particle which is its own anti-particle.
ThePEG::ConstituentParticleData::setConstituentMass
void setConstituentMass(Energy m)
Utility function for the interface.
ThePEG::ConstituentParticleData::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::ConstituentParticleData::defConstituentMass
Energy defConstituentMass() const
Utility function for the interface.
ThePEG::ConstituentParticleData::theDefaultConstituentMass
Energy theDefaultConstituentMass
The default constituent mass of this parton.
Definition:
ConstituentParticleData.h:124
ThePEG::ConstituentParticleData::pdclone
virtual PDPtr pdclone() const
ParticleData clone method.
ThePEG::ConstituentParticleData::readSetup
virtual void readSetup(istream &is)
Read setup info from a standard stream.
ThePEG::ConstituentParticleData::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::ConstituentParticleData::Init
static void Init()
Standard Init function used to initialize the interface.
ThePEG::ParticleData
ParticleData inherits from InterfacedBase and represents the properties of a particle type.
Definition:
ParticleData.h:36
ThePEG::PersistentIStream
PersistentIStream is used to read persistent objects from a stream where they were previously written...
Definition:
PersistentIStream.h:48
ThePEG::PersistentOStream
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
Definition:
PersistentOStream.h:51
ThePEG::Pointer::RCPtr
RCPtr is a reference counted (smart) pointer.
Definition:
RCPtr.h:60
ThePEG::Qty< 0, 1, 0 >
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::ZERO
constexpr ZeroUnit ZERO
ZERO can be used as zero for any unitful quantity.
Definition:
PhysicalQty.h:35
ThePEG::PDPair
pair< PDPtr, PDPtr > PDPair
A pair of pointers to ParticleData objects.
Definition:
Containers.h:115
ThePEG::BaseClassTrait
BaseClassTraits describes the base classes of the templated class.
Definition:
ClassTraits.h:156
ThePEG::BaseClassTrait::NthBase
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition:
ClassTraits.h:161
ThePEG::ClassTraitsBase::className
static string className()
Return the name of class T.
Definition:
ClassTraits.h:66
ThePEG::ClassTraitsType
ClassTraitsType is an empty, non-polymorphic, base class.
Definition:
ClassTraits.h:30
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6