rivet is hosted by Hepforge, IPPP Durham
Rivet 4.0.0
Beam.hh
1// -*- C++ -*-
2#ifndef RIVET_Beam_HH
3#define RIVET_Beam_HH
4
5#include "Rivet/Projection.hh"
6#include "Rivet/Event.hh"
7#include "Rivet/Particle.hh"
8#include "Rivet/Tools/Beams.hh"
9#include "Rivet/Math/LorentzTrans.hh"
10
11namespace Rivet {
12
13
15 class Beam : public Projection {
16 public:
17
19 using Projection::operator=;
20
22 Beam() { setName("Beam"); }
23
26
27
30
32 const ParticlePair& beams() const { return _theBeams; }
33
35 double sqrtS() const { return Rivet::sqrtS(beams()); }
36
39
42
45
48
50
51
54
56 double asqrtS() const { return Rivet::asqrtS(beams()); }
57
60
63
66
68
69
71 FourVector pv() const;
72
73
75 virtual void project(const Event& e);
76
77
78 protected:
79
81 ParticlePair _theBeams;
82
83
84 protected:
85
87 virtual CmpState compare(const Projection&) const { return CmpState::EQ; }
88
89 };
90
91
92}
93
94#endif
Project out the incoming beams.
Definition Beam.hh:15
LorentzTransform acmsTransform() const
Get the Lorentz transform to the per-nucleon beam centre-of-mass.
Definition Beam.hh:65
Vector3 cmsGammaVec() const
Get the gamma factor vector for the Lorentz boost to the beam centre-of-mass.
Definition Beam.hh:47
Vector3 acmsGammaVec() const
Get the Lorentz boost to the per-nucleon beam centre-of-mass.
Definition Beam.hh:62
double sqrtS() const
Get centre of mass energy, .
Definition Beam.hh:35
Vector3 cmsBetaVec() const
Get the beta factor vector for the Lorentz boost to the beam centre-of-mass.
Definition Beam.hh:44
LorentzTransform cmsTransform() const
Get the Lorentz transform to the beam centre-of-mass.
Definition Beam.hh:41
virtual CmpState compare(const Projection &) const
Compare with other projections – it's always the same, since there are no params.
Definition Beam.hh:87
double asqrtS() const
Get per-nucleon centre of mass energy, .
Definition Beam.hh:56
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:59
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:32
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:38
Representation of a HepMC event, and enabler of Projection caching.
Definition Event.hh:22
Specialized version of the FourVector with momentum/energy functionality.
Definition Vector4.hh:316
Specialisation of VectorN to a general (non-momentum) Lorentz 4-vector.
Definition Vector4.hh:30
Object implementing Lorentz transform calculations and boosts.
Definition LorentzTrans.hh:21
Base class for all Rivet projections.
Definition Projection.hh:29
void setName(const std::string &name)
Used by derived classes to set their name.
Definition Projection.hh:148
Three-dimensional specialisation of Vector.
Definition Vector3.hh:40
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:80
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 MC_CENT_PPB_Projections.hh:10
std::pair< Particle, Particle > ParticlePair
Typedef for a pair of Particle objects.
Definition Particle.hh:38