rivet is hosted by Hepforge, IPPP Durham
ChargedFinalState.hh
Go to the documentation of this file.
00001 // -*- C++ -*-
00002 #ifndef RIVET_ChargedFinalState_HH
00003 #define RIVET_ChargedFinalState_HH
00004 
00005 #include "Rivet/Projections/FinalState.hh"
00006 
00007 namespace Rivet {
00008 
00009 
00010   /// @brief Project only charged final state particles.
00011   class ChargedFinalState : public FinalState {
00012   public:
00013 
00014     /// @name Constructors
00015     //@{
00016 
00017     /// Construction from another FinalState
00018     ChargedFinalState(const FinalState& fsp);
00019 
00020     /// Construction using Cuts object
00021     ChargedFinalState(const Cut& c=Cuts::open());
00022 
00023     /// Single eta-range constructor.
00024     ChargedFinalState(double mineta, double maxeta, double minpt=0*GeV);
00025 
00026     /// Clone on the heap.
00027     virtual const Projection* clone() const {
00028       return new ChargedFinalState(*this);
00029     }
00030 
00031     //@}
00032 
00033 
00034   protected:
00035 
00036     /// Apply the projection on the supplied event.
00037     void project(const Event& e);
00038 
00039     /// Compare projections.
00040     int compare(const Projection& p) const;
00041   };
00042 
00043 
00044 }
00045 
00046 
00047 #endif