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     ChargedFinalState(const FinalState& fsp);
00017 
00018     /// Single eta-range constructor.
00019     ChargedFinalState(double mineta = -MAXDOUBLE,
00020                       double maxeta =  MAXDOUBLE,
00021                       double minpt  =  0.0*GeV);
00022 
00023     /// Clone on the heap.
00024     virtual const Projection* clone() const {
00025       return new ChargedFinalState(*this);
00026     }
00027     //@}
00028 
00029 
00030   protected:
00031 
00032     /// Apply the projection on the supplied event.
00033     void project(const Event& e);
00034 
00035     /// Compare projections.
00036     int compare(const Projection& p) const;
00037   };
00038 
00039 
00040 }
00041 
00042 
00043 #endif