Rivet
1.8.0
|
00001 // -*- C++ -*- 00002 #ifndef RIVET_TotalVisibleMomentum_HH 00003 #define RIVET_TotalVisibleMomentum_HH 00004 00005 #include "Rivet/Rivet.hh" 00006 #include "Rivet/Projection.hh" 00007 #include "Rivet/Projections/FinalState.hh" 00008 #include "Rivet/Particle.hh" 00009 #include "Rivet/Event.hh" 00010 00011 namespace Rivet { 00012 00013 00016 class TotalVisibleMomentum : public Projection { 00017 00018 public: 00019 00021 TotalVisibleMomentum(const FinalState& fsp) 00022 { 00023 setName("TotalVisibleMomentum"); 00024 addProjection(fsp, "FS"); 00025 getLog() << Log::WARNING << "TotalVisibleMomentum projection is deprecated: " 00026 << "please use the MissingMomentum projection instead." << endl; 00027 } 00028 00030 virtual const Projection* clone() const { 00031 return new TotalVisibleMomentum(*this); 00032 } 00033 00034 00035 public: 00037 FourMomentum& momentum() { return _momentum; } 00038 00040 const FourMomentum& momentum() const { return _momentum; } 00041 00043 double scalarET() const { return _set; } 00044 00045 00046 protected: 00047 00049 void project(const Event& e); 00050 00052 int compare(const Projection& p) const; 00053 00054 private: 00055 00057 FourMomentum _momentum; 00058 00060 double _set; 00061 00062 }; 00063 00064 } 00065 00066 00067 #endif