DISFinalState.hh
Go to the documentation of this file.
00001 // -*- C++ -*- 00002 #ifndef RIVET_DISFinalState_HH 00003 #define RIVET_DISFinalState_HH 00004 00005 #include "Rivet/Projections/FinalState.hh" 00006 #include "Rivet/Projections/DISKinematics.hh" 00007 00008 namespace Rivet { 00009 00010 00011 /// @brief Final state particles boosted to the hadronic center of mass system. 00012 /// 00013 /// NB. The DIS scattered lepton is not included in the final state particles. 00014 class DISFinalState: public FinalState { 00015 public: 00016 00017 /// Type of DIS boost to apply 00018 enum BoostType { HCM, BREIT }; 00019 00020 00021 /// @name Constructors 00022 //@{ 00023 00024 /// Constructor 00025 DISFinalState(const DISKinematics& kinematicsp, BoostType boosttype) 00026 : _boosttype(boosttype) 00027 { 00028 setName("DISFinalState"); 00029 addProjection(kinematicsp, "Kinematics"); 00030 } 00031 00032 /// Clone on the heap. 00033 virtual const Projection* clone() const { 00034 return new DISFinalState(*this); 00035 } 00036 00037 //@} 00038 00039 00040 protected: 00041 00042 /// Apply the projection on the supplied event. 00043 void project(const Event& e); 00044 00045 /// Compare projections. 00046 int compare(const Projection& p) const { 00047 const DISFinalState& other = dynamic_cast<const DISFinalState&>(p); 00048 return mkNamedPCmp(p, "Kinematics") || cmp(_boosttype, other._boosttype); 00049 } 00050 00051 00052 private: 00053 00054 BoostType _boosttype; 00055 00056 }; 00057 00058 00059 } 00060 00061 #endif Generated on Thu Feb 6 2014 17:38:44 for The Rivet MC analysis system by 1.7.6.1 |