thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
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
17namespace ThePEG {
18
29
30public:
31
39
46 static PDPtr Create(long newId, string newPDGName);
47
53 static PDPair Create(long newId, string newPDGName, string newAntiPDGName);
55
60
65
66public:
67
75
81 void persistentInput(PersistentIStream & is, int version);
83
87 static void Init();
88
89protected:
90
95 PolarizedBeamParticleData(long newId, string newPDGName);
96
100 virtual PDPtr pdclone() const;
101
102private:
103
108
109private:
110
115
120
121};
122
127template <>
131};
132
135template <>
136struct ClassTraits<PolarizedBeamParticleData>:
137 public ClassTraitsBase<PolarizedBeamParticleData> {
139 static string className() { return "ThePEG::PolarizedBeamParticleData"; }
140};
141
144}
145
146#endif /* ThePEG_PolarizedBeamParticleData_H */
BeamParticleData inherits from the ParticleData class and is used for particles which have informatio...
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
PersistentIStream is used to read persistent objects from a stream where they were previously written...
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
PolarizedBeamParticleData inherits from the BeamParticleData class and is used for polarized beam par...
virtual PDPtr pdclone() const
ParticleData clone method.
PolarizedBeamParticleData(long newId, string newPDGName)
Protected constructor only to be used by subclasses or by the Create method.
double longitudinalPolarization() const
The longitudinal polarization.
static ClassDescription< PolarizedBeamParticleData > initPolarizedBeamParticleData
Describe a concrete class with persistent data.
double theLongPolarization
The longitudinal polarization.
static void Init()
Standard Init function used to initialize the interface.
PolarizedBeamParticleData & operator=(const PolarizedBeamParticleData &)=delete
Private and non-existent assignment operator.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
RhoDMatrix rhoMatrix() const
Set-up the spin density matrix.
static PDPtr Create(long newId, string newPDGName)
Create a Particle which is its own anti-particle.
static PDPair Create(long newId, string newPDGName, string newAntiPDGName)
Create a particle - anti particle pair.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
The RhoDMatrix class is designed to implement the storage of the rho and D matrices which are require...
Definition: RhoDMatrix.h:28
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
pair< PDPtr, PDPtr > PDPair
A pair of pointers to ParticleData objects.
Definition: Containers.h:115
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition: ClassTraits.h:161
static string className()
Return the name of class T.
Definition: ClassTraits.h:66
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30