thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
PDF
PolarizedBeamParticleData.h
1
// -*- C++ -*-
2
//
3
// PolarizedBeamParticleData.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_PolarizedPolarizedBeamParticleData_H
10
#define ThePEG_PolarizedPolarizedBeamParticleData_H
11
// This is the declaration of the PolarizedBeamParticleData class.
12
13
#include "BeamParticleData.h"
14
#include "ThePEG/EventRecord/RhoDMatrix.h"
15
#include "PolarizedBeamParticleData.fh"
16
17
namespace
ThePEG
{
18
28
class
PolarizedBeamParticleData
:
public
virtual
BeamParticleData
{
29
30
public
:
31
37
PolarizedBeamParticleData
() :
theLongPolarization
(0.0) {}
39
46
static
PDPtr
Create
(
long
newId,
string
newPDGName);
47
53
static
PDPair
Create
(
long
newId,
string
newPDGName,
string
newAntiPDGName);
55
59
RhoDMatrix
rhoMatrix
()
const
;
60
64
double
longitudinalPolarization
()
const
{
return
theLongPolarization
;}
65
66
public
:
67
74
void
persistentOutput
(
PersistentOStream
& os)
const
;
75
81
void
persistentInput
(
PersistentIStream
& is,
int
version);
83
87
static
void
Init
();
88
89
protected
:
90
95
PolarizedBeamParticleData
(
long
newId,
string
newPDGName);
96
100
virtual
PDPtr
pdclone
()
const
;
101
102
private
:
103
107
double
theLongPolarization
;
108
109
private
:
110
114
static
ClassDescription<PolarizedBeamParticleData>
initPolarizedBeamParticleData
;
115
119
PolarizedBeamParticleData
&
operator=
(
const
PolarizedBeamParticleData
&) =
delete
;
120
121
};
122
127
template
<>
128
struct
BaseClassTrait
<
PolarizedBeamParticleData
,1>:
public
ClassTraitsType
{
130
typedef
BeamParticleData
NthBase
;
131
};
132
135
template
<>
136
struct
ClassTraits<PolarizedBeamParticleData>:
137
public
ClassTraitsBase<PolarizedBeamParticleData> {
139
static
string
className
() {
return
"ThePEG::PolarizedBeamParticleData"
; }
140
};
141
144
}
145
146
#endif
/* ThePEG_PolarizedBeamParticleData_H */
ThePEG::BeamParticleData
BeamParticleData inherits from the ParticleData class and is used for particles which have informatio...
Definition:
BeamParticleData.h:29
ThePEG::ClassDescription
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
Definition:
ClassDescription.h:333
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::PolarizedBeamParticleData
PolarizedBeamParticleData inherits from the BeamParticleData class and is used for polarized beam par...
Definition:
PolarizedBeamParticleData.h:28
ThePEG::PolarizedBeamParticleData::pdclone
virtual PDPtr pdclone() const
ParticleData clone method.
ThePEG::PolarizedBeamParticleData::PolarizedBeamParticleData
PolarizedBeamParticleData(long newId, string newPDGName)
Protected constructor only to be used by subclasses or by the Create method.
ThePEG::PolarizedBeamParticleData::longitudinalPolarization
double longitudinalPolarization() const
The longitudinal polarization.
Definition:
PolarizedBeamParticleData.h:64
ThePEG::PolarizedBeamParticleData::initPolarizedBeamParticleData
static ClassDescription< PolarizedBeamParticleData > initPolarizedBeamParticleData
Describe a concrete class with persistent data.
Definition:
PolarizedBeamParticleData.h:114
ThePEG::PolarizedBeamParticleData::theLongPolarization
double theLongPolarization
The longitudinal polarization.
Definition:
PolarizedBeamParticleData.h:107
ThePEG::PolarizedBeamParticleData::Init
static void Init()
Standard Init function used to initialize the interface.
ThePEG::PolarizedBeamParticleData::operator=
PolarizedBeamParticleData & operator=(const PolarizedBeamParticleData &)=delete
Private and non-existent assignment operator.
ThePEG::PolarizedBeamParticleData::PolarizedBeamParticleData
PolarizedBeamParticleData()
Default constructor.
Definition:
PolarizedBeamParticleData.h:37
ThePEG::PolarizedBeamParticleData::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::PolarizedBeamParticleData::rhoMatrix
RhoDMatrix rhoMatrix() const
Set-up the spin density matrix.
ThePEG::PolarizedBeamParticleData::Create
static PDPtr Create(long newId, string newPDGName)
Create a Particle which is its own anti-particle.
ThePEG::PolarizedBeamParticleData::Create
static PDPair Create(long newId, string newPDGName, string newAntiPDGName)
Create a particle - anti particle pair.
ThePEG::PolarizedBeamParticleData::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::RhoDMatrix
The RhoDMatrix class is designed to implement the storage of the rho and D matrices which are require...
Definition:
RhoDMatrix.h:28
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
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