Rivet
1.8.0
|
00001 // -*- C++ -*- 00002 #ifndef RIVET_ChargedFinalState_HH 00003 #define RIVET_ChargedFinalState_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 00012 namespace Rivet { 00013 00014 00016 class ChargedFinalState : public FinalState { 00017 public: 00018 00020 00021 ChargedFinalState(const FinalState& fsp); 00022 00024 ChargedFinalState(double mineta = -MAXRAPIDITY, 00025 double maxeta = MAXRAPIDITY, 00026 double minpt = 0.0*GeV); 00027 00030 ChargedFinalState(const vector<pair<double, double> >& etaRanges, 00031 double minpt = 0.0*GeV); 00032 00034 virtual const Projection* clone() const { 00035 return new ChargedFinalState(*this); 00036 } 00038 00039 00040 protected: 00041 00043 void project(const Event& e); 00044 00046 int compare(const Projection& p) const; 00047 }; 00048 00049 00050 } 00051 00052 00053 #endif