Rivet
1.8.0
|
00001 // -*- C++ -*- 00002 #ifndef RIVET_MergedFinalState_HH 00003 #define RIVET_MergedFinalState_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 MergedFinalState : public FinalState { 00017 00018 public: 00019 00021 00022 MergedFinalState(const FinalState& fspa, const FinalState& fspb) { 00023 setName("MergedFinalState"); 00024 addProjection(fspa, "FSA"); 00025 addProjection(fspb, "FSB"); 00026 } 00027 00029 virtual const Projection* clone() const { 00030 return new MergedFinalState(*this); 00031 } 00033 00034 protected: 00035 00037 void project(const Event& e); 00038 00040 int compare(const Projection& p) const; 00041 }; 00042 00043 00044 } 00045 00046 00047 #endif