thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
Helicity
WaveFunction
WaveFunctionBase.h
1
// -*- C++ -*-
2
//
3
// WaveFunctionBase.h is a part of ThePEG - Toolkit for HEP Event Generation
4
// Copyright (C) 2003-2019 Peter Richardson, 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_WaveFunctionBase_H
10
#define ThePEG_WaveFunctionBase_H
11
//
12
// This is the declaration of the WaveFunctionBase class.
13
14
#include <ThePEG/Vectors/Lorentz5Vector.h>
15
#include <
ThePEG/Vectors/LorentzVector.h
>
16
#include <ThePEG/PDT/ParticleData.h>
17
#include <
ThePEG/Helicity/HelicityDefinitions.h
>
18
19
namespace
ThePEG
{
20
21
namespace
Helicity {
22
23
24
29
enum
Direction
30
{
31
incoming
,
32
outgoing
,
33
intermediate
34
};
35
58
class
WaveFunctionBase
{
59
60
public
:
61
63
64
67
WaveFunctionBase
()
68
:
_particle
(),
_momentum
(),
_dir
(
intermediate
)
69
{}
70
74
WaveFunctionBase
(
const
Lorentz5Momentum
& p,
75
tcPDPtr
pd,
Direction
dir =
intermediate
)
76
:
_particle
(pd),
_momentum
(p),
_dir
(dir)
77
{
78
if
(
_dir
==
outgoing
)
_momentum
*= -1.0;
79
if
( dir !=
outgoing
) {
80
tcPDPtr
anti = pd->CC();
81
if
( anti )
_particle
= anti;
82
}
83
}
85
86
94
Energy
px
()
const
{
return
_momentum
.
x
();}
95
99
Energy
py
()
const
{
return
_momentum
.y();}
100
104
Energy
pz
()
const
{
return
_momentum
.z();}
105
109
Energy
e
()
const
{
return
_momentum
.e();}
110
114
Energy
mass
()
const
{
return
_momentum
.
mass
();}
115
119
Energy2
m2
()
const
{
return
_momentum
.
m2
();}
120
124
const
Lorentz5Momentum
&
momentum
()
const
{
return
_momentum
;}
126
134
long
id
()
const
{
return
_particle
->id();}
135
139
PDT::Spin
iSpin
()
const
{
return
_particle
->iSpin();}
140
144
tcPDPtr
particle
()
const
{
return
_particle
;}
145
149
ThePEG::Helicity::Direction
direction
()
const
{
return
_dir
;}
150
154
void
direction
(
ThePEG::Helicity::Direction
in) {
_dir
=in;}
156
157
protected
:
158
162
void
transformMomentum
(
const
LorentzRotation
& r) {
163
_momentum
.
transform
(r);
164
}
165
166
private
:
167
171
tcPDPtr
_particle
;
172
176
Lorentz5Momentum
_momentum
;
177
181
Direction
_dir
;
182
};
183
}
184
}
185
186
#endif
HelicityDefinitions.h
This file contains enumerations used by LorentzSpinor and LorentzSpinorBar classes.
LorentzVector.h
contains the LorentzVector class.
ThePEG::Direction
A Direction object can be used to specify that some following operations should be assumed to be perf...
Definition:
Direction.h:41
ThePEG::Helicity::WaveFunctionBase
Definition:
WaveFunctionBase.h:58
ThePEG::Helicity::WaveFunctionBase::py
Energy py() const
Get the y component of the momentum.
Definition:
WaveFunctionBase.h:99
ThePEG::Helicity::WaveFunctionBase::WaveFunctionBase
WaveFunctionBase()
Constructors.
Definition:
WaveFunctionBase.h:67
ThePEG::Helicity::WaveFunctionBase::_particle
tcPDPtr _particle
Constant pointer to the particle info.
Definition:
WaveFunctionBase.h:171
ThePEG::Helicity::WaveFunctionBase::iSpin
PDT::Spin iSpin() const
Get 2s+1 for the particle.
Definition:
WaveFunctionBase.h:139
ThePEG::Helicity::WaveFunctionBase::direction
void direction(ThePEG::Helicity::Direction in)
Set the direction of the particle.
Definition:
WaveFunctionBase.h:154
ThePEG::Helicity::WaveFunctionBase::particle
tcPDPtr particle() const
Get the particle pointer.
Definition:
WaveFunctionBase.h:144
ThePEG::Helicity::WaveFunctionBase::direction
ThePEG::Helicity::Direction direction() const
Get the direction of particle.
Definition:
WaveFunctionBase.h:149
ThePEG::Helicity::WaveFunctionBase::transformMomentum
void transformMomentum(const LorentzRotation &r)
Perform the Lorentz transformation of the wave function.
Definition:
WaveFunctionBase.h:162
ThePEG::Helicity::WaveFunctionBase::mass
Energy mass() const
Get the mass.
Definition:
WaveFunctionBase.h:114
ThePEG::Helicity::WaveFunctionBase::px
Energy px() const
Access to the momentum components and mass.
Definition:
WaveFunctionBase.h:94
ThePEG::Helicity::WaveFunctionBase::pz
Energy pz() const
Get the z component of the momentum.
Definition:
WaveFunctionBase.h:104
ThePEG::Helicity::WaveFunctionBase::id
long id() const
Access to the particle properties.
Definition:
WaveFunctionBase.h:134
ThePEG::Helicity::WaveFunctionBase::m2
Energy2 m2() const
Get off-shell mass squared.
Definition:
WaveFunctionBase.h:119
ThePEG::Helicity::WaveFunctionBase::_dir
Direction _dir
Incoming or outgoing.
Definition:
WaveFunctionBase.h:181
ThePEG::Helicity::WaveFunctionBase::_momentum
Lorentz5Momentum _momentum
Lorentz 5 momentum.
Definition:
WaveFunctionBase.h:176
ThePEG::Helicity::WaveFunctionBase::momentum
const Lorentz5Momentum & momentum() const
Access to the 5-momentum.
Definition:
WaveFunctionBase.h:124
ThePEG::Helicity::WaveFunctionBase::e
Energy e() const
Get the energy.
Definition:
WaveFunctionBase.h:109
ThePEG::Lorentz5Vector< Energy >
ThePEG::Lorentz5Vector::x
Value x() const
Component access.
Definition:
Lorentz5Vector.h:52
ThePEG::Lorentz5Vector::transform
Lorentz5Vector & transform(const LorentzRotation &r)
Perform a Lorentz transformation.
Definition:
Lorentz5Vector.h:259
ThePEG::Lorentz5Vector::mass
Value mass() const
Mass/invariant length component.
Definition:
Lorentz5Vector.h:224
ThePEG::LorentzRotation
The LorentzRotation class combine a SpinOneLorentzRotation and a spin SpinHalfLorentzRotation to prov...
Definition:
LorentzRotation.h:27
ThePEG::LorentzVector::m2
Value2 m2() const
Squared magnitude .
Definition:
LorentzVector.h:119
ThePEG::PDT::Spin
Spin
Definition of enumerated values used for spin information.
Definition:
PDT.h:32
ThePEG::Pointer::TransientConstRCPtr
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
Definition:
RCPtr.h:696
ThePEG::Qty< 0, 1, 0 >
ThePEG::Helicity::outgoing
@ outgoing
An outgoing particle.
Definition:
WaveFunctionBase.h:32
ThePEG::Helicity::incoming
@ incoming
An incoming particle.
Definition:
WaveFunctionBase.h:31
ThePEG::Helicity::intermediate
@ intermediate
An intermediate particle.
Definition:
WaveFunctionBase.h:33
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6