// -*- C++ -*- #ifndef RIVET_FinalStateBREIT_HH #define RIVET_FinalStateBREIT_HH #include "Rivet/Particle.hh" #include "Rivet/Event.hh" #include "Rivet/Projections/FinalState.hh" #include "Rivet/Projections/DISKinematics.hh" namespace Rivet { /// Project all final state particles /// boosted to the briet frame. class FinalStateBreit: public FinalState { public: /// Constructor FinalStateBreit(const DISKinematics& kinematicsp) { setName("FinalStateBreit"); addProjection(kinematicsp, "Kinematics"); } /// Clone on the heap. virtual const Projection* clone() const { return new FinalStateBreit(*this); } protected: /// Apply the projection on the supplied event. void project(const Event& e); /// Compare projections. int compare(const Projection& p) const; }; } #endif