00001
00002 #ifndef RIVET_VisibleFinalState_HH
00003 #define RIVET_VisibleFinalState_HH
00004
00005 #include "Rivet/Tools/Logging.hh"
00006 #include "Rivet/Rivet.hh"
00007 #include "Rivet/Particle.hh"
00008 #include "Rivet/Event.hh"
00009 #include "Rivet/Projection.hh"
00010 #include "Rivet/Projections/FinalState.hh"
00011 #include "Rivet/Projections/VetoedFinalState.hh"
00012
00013 namespace Rivet {
00014
00015
00016
00017 class VisibleFinalState : public FinalState {
00018 public:
00019
00020
00021
00022
00023
00024 VisibleFinalState();
00025
00026
00027
00028 VisibleFinalState(double mineta = -MAXRAPIDITY,
00029 double maxeta = MAXRAPIDITY,
00030 double minpt = 0.0*GeV);
00031
00032
00033 VisibleFinalState(const FinalState& fsp);
00034
00035
00036 virtual const Projection* clone() const {
00037 return new VisibleFinalState(*this);
00038 }
00039
00040
00041
00042
00043 protected:
00044
00045
00046 void project(const Event& e);
00047
00048
00049 int compare(const Projection& p) const;
00050
00051 };
00052
00053
00054 }
00055
00056
00057 #endif