thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
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>
16#include <ThePEG/PDT/ParticleData.h>
18
19namespace ThePEG {
20
21namespace Helicity {
22
23
24
30{
34};
35
59
60public:
61
63
64
69 {}
70
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
150
156
157protected:
158
164 }
165
166private:
167
172
177
182};
183}
184}
185
186#endif
This file contains enumerations used by LorentzSpinor and LorentzSpinorBar classes.
contains the LorentzVector class.
A Direction object can be used to specify that some following operations should be assumed to be perf...
Definition: Direction.h:41
Energy py() const
Get the y component of the momentum.
tcPDPtr _particle
Constant pointer to the particle info.
PDT::Spin iSpin() const
Get 2s+1 for the particle.
void direction(ThePEG::Helicity::Direction in)
Set the direction of the particle.
tcPDPtr particle() const
Get the particle pointer.
ThePEG::Helicity::Direction direction() const
Get the direction of particle.
void transformMomentum(const LorentzRotation &r)
Perform the Lorentz transformation of the wave function.
Energy mass() const
Get the mass.
Energy px() const
Access to the momentum components and mass.
Energy pz() const
Get the z component of the momentum.
long id() const
Access to the particle properties.
Energy2 m2() const
Get off-shell mass squared.
Direction _dir
Incoming or outgoing.
Lorentz5Momentum _momentum
Lorentz 5 momentum.
const Lorentz5Momentum & momentum() const
Access to the 5-momentum.
Energy e() const
Get the energy.
Value x() const
Component access.
Lorentz5Vector & transform(const LorentzRotation &r)
Perform a Lorentz transformation.
Value mass() const
Mass/invariant length component.
The LorentzRotation class combine a SpinOneLorentzRotation and a spin SpinHalfLorentzRotation to prov...
Value2 m2() const
Squared magnitude .
Spin
Definition of enumerated values used for spin information.
Definition: PDT.h:32
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
Definition: RCPtr.h:696
@ outgoing
An outgoing particle.
@ incoming
An incoming particle.
@ intermediate
An intermediate particle.
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28