2 #ifndef RIVET_Thrust_HH
3 #define RIVET_Thrust_HH
5 #include "Rivet/Projection.hh"
6 #include "Rivet/Projections/AxesDefinition.hh"
7 #include "Rivet/Projections/FinalState.hh"
8 #include "Rivet/Event.hh"
64 const vector<Particle> ps
65 = applyProjection<FinalState>(e,
"FS").particles();
79 double thrust()
const {
return _thrusts[0]; }
85 double oblateness()
const {
return _thrusts[1] - _thrusts[2]; }
114 void calc(
const vector<Particle>& fsparticles);
117 void calc(
const vector<FourMomentum>& fsmomenta);
120 void calc(
const vector<Vector3>& threeMomenta);
128 vector<double> _thrusts;
131 vector<Vector3> _thrustAxes;
136 void _calcThrust(
const vector<Vector3>& fsmomenta);