Rivet API documentation

Rivet 4.1.3
Beam.hh
1// -*- C++ -*-
2#ifndef RIVET_Beam_HH
3#define RIVET_Beam_HH
4
5#include "Rivet/Event.hh"
6#include "Rivet/Particle.hh"
7#include "Rivet/Projection.hh"
8#include "Rivet/Math/LorentzTrans.hh"
9#include "Rivet/Tools/Beams.hh"
10
11namespace Rivet {
12
13
15 class Beam : public Projection {
16 public:
17
19 using Projection::operator=;
20
22 Beam() {
23 setName("Beam");
24 }
25
28
29
32
34 const ParticlePair& beams() const {
35 return _theBeams;
36 }
37
39 double sqrtS() const {
40 return Rivet::sqrtS(beams());
41 }
42
45 return Rivet::cmsBoostVec(beams());
46 }
47
52
55 return Rivet::cmsBetaVec(beams());
56 }
57
60 return Rivet::cmsGammaVec(beams());
61 }
62
64
65
68
70 double asqrtS() const {
71 return Rivet::asqrtS(beams());
72 }
73
76 return Rivet::acmsBetaVec(beams());
77 }
78
81 return Rivet::acmsGammaVec(beams());
82 }
83
88
90
91
93 FourVector pv() const;
94
95
97 virtual void project(const Event& e);
98
99
100 protected:
101
103 ParticlePair _theBeams;
104
105
106 protected:
107
109 virtual CmpState compare(const Projection&) const {
110 return CmpState::EQ;
111 }
112 };
113
114
115}
116
117#endif
LorentzTransform acmsTransform() const
Get the Lorentz transform to the per-nucleon beam centre-of-mass.
Definition Beam.hh:85
Vector3 cmsGammaVec() const
Get the gamma factor vector for the Lorentz boost to the beam centre-of-mass.
Definition Beam.hh:59
Vector3 acmsGammaVec() const
Get the Lorentz boost to the per-nucleon beam centre-of-mass.
Definition Beam.hh:80
double sqrtS() const
Get centre of mass energy, .
Definition Beam.hh:39
Vector3 cmsBetaVec() const
Get the beta factor vector for the Lorentz boost to the beam centre-of-mass.
Definition Beam.hh:54
LorentzTransform cmsTransform() const
Get the Lorentz transform to the beam centre-of-mass.
Definition Beam.hh:49
virtual CmpState compare(const Projection &) const
Compare with other projections – it's always the same, since there are no params.
Definition Beam.hh:109
double asqrtS() const
Get per-nucleon centre of mass energy, .
Definition Beam.hh:70
Beam()
Default (and only) constructor.
Definition Beam.hh:22
Vector3 acmsBetaVec() const
Get the Lorentz boost to the per-nucleon beam centre-of-mass.
Definition Beam.hh:75
RIVET_DEFAULT_PROJ_CLONE(Beam)
Clone on the heap.
virtual void project(const Event &e)
Project on to the Event.
const ParticlePair & beams() const
The pair of beam particles in the current collision.
Definition Beam.hh:34
FourVector pv() const
Get the beam interaction primary vertex (PV) position.
FourMomentum cmsBoostVec() const
Get the Lorentz boost to the beam centre-of-mass.
Definition Beam.hh:44
Specialized version of the FourVector with momentum/energy functionality.
Definition Vector4.hh:363
Specialisation of VectorN to a general (non-momentum) Lorentz 4-vector.
Definition Vector4.hh:32
Object implementing Lorentz transform calculations and boosts.
Definition LorentzTrans.hh:21
Projection()
The default constructor.
friend class Event
Event is a friend.
Definition Projection.hh:33
void setName(const std::string &name)
Used by derived classes to set their name.
Definition Projection.hh:146
Three-dimensional specialisation of Vector.
Definition Vector3.hh:39
Vector3 cmsGammaVec(const FourMomentum &pa, const FourMomentum &pb)
Get the Lorentz boost to the beam centre-of-mass system (CMS) from a pair of beam momenta.
double sqrtS(double ea, double eb)
Get beam centre-of-mass energy from a pair of beam energies.
double asqrtS(const FourMomentum &pa, const FourMomentum &pb)
FourMomentum cmsBoostVec(const FourMomentum &pa, const FourMomentum &pb)
Get the Lorentz boost to the beam centre-of-mass system (CMS) from a pair of beam momenta.
Definition Beams.hh:94
Vector3 acmsBetaVec(const FourMomentum &pa, const FourMomentum &pb)
Vector3 acmsGammaVec(const FourMomentum &pa, const FourMomentum &pb)
Vector3 cmsBetaVec(const FourMomentum &pa, const FourMomentum &pb)
Get the Lorentz boost to the beam centre-of-mass system (CMS) from a pair of beam momenta.
LorentzTransform acmsTransform(const FourMomentum &pa, const FourMomentum &pb)
LorentzTransform cmsTransform(const FourMomentum &pa, const FourMomentum &pb)
Get the Lorentz transformation to the beam centre-of-mass system (CMS) from a pair of beam momenta.
Definition LHCbCommon.hh:9
std::pair< Particle, Particle > ParticlePair
Typedef for a pair of Particle objects.
Definition Particle.hh:43