FinalStateHCM.hh

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 #ifndef RIVET_FinalStateHCM_HH
00003 #define RIVET_FinalStateHCM_HH
00004 
00005 #include "Rivet/Particle.hh"
00006 #include "Rivet/Event.hh"
00007 #include "Rivet/Projections/FinalState.hh"
00008 #include "Rivet/Projections/DISKinematics.hh"
00009 
00010 
00011 namespace Rivet {
00012 
00013   /// Project all final state particles (except the scattered lepton)
00014   /// boosted to the hadronic center of mass system.
00015   class FinalStateHCM: public FinalState {
00016 
00017   public:
00018  
00019     /// Constructor
00020     FinalStateHCM(const DISKinematics& kinematicsp)
00021     {
00022       setName("FinalStateHCM");
00023       addProjection(kinematicsp, "Kinematics");
00024     }
00025 
00026     /// Clone on the heap.
00027     virtual const Projection* clone() const {
00028       return new FinalStateHCM(*this);
00029     }
00030  
00031   protected:
00032  
00033     /// Apply the projection on the supplied event.
00034     void project(const Event& e);
00035  
00036     /// Compare projections.
00037     int compare(const Projection& p) const;
00038   };
00039 
00040 }
00041 
00042 
00043 #endif