rivet is hosted by Hepforge, IPPP Durham
FinalState.hh
Go to the documentation of this file.
00001 // -*- C++ -*-
00002 #ifndef RIVET_FinalState_HH
00003 #define RIVET_FinalState_HH
00004 
00005 #include "Rivet/Projections/ParticleFinder.hh"
00006 #include "Rivet/Cuts.hh"
00007 
00008 namespace Rivet {
00009 
00010 
00011   /// @brief Project out all final-state particles in an event.
00012   /// Probably the most important projection in Rivet!
00013   class FinalState : public ParticleFinder {
00014   public:
00015 
00016     /// @name Standard constructors and destructors.
00017     //@{
00018     /// @deprecated Keep for backwards compatibility for now
00019     /// The default constructor. May specify the minimum and maximum
00020     /// pseudorapidity \f$ \eta \f$ and the min \f$ p_T \f$ (in GeV).
00021     FinalState(double mineta,
00022                double maxeta,
00023                double minpt = 0.0);
00024 
00025     /// Construction using Cuts object
00026     FinalState(Cut c = Cuts::open());
00027 
00028     /// Clone on the heap.
00029     virtual const Projection* clone() const {
00030       return new FinalState(*this);
00031     }
00032 
00033     //@}
00034 
00035 
00036     /// Apply the projection to the event.
00037     virtual void project(const Event& e);
00038 
00039     /// Compare projections.
00040     virtual int compare(const Projection& p) const;
00041 
00042     /// Decide if a particle is to be accepted or not.
00043     /// @todo Rename to _accept or acceptFinal?
00044     virtual bool accept(const Particle& p) const;
00045 
00046   };
00047 
00048 
00049 }
00050 
00051 #endif