00001 // ================================================ 00002 // MissingMomentum class description 00003 // ================================================ 00004 // 00005 // Namespace Atlfast:: 00006 // 00007 // class: MissingMomentum 00008 // 00009 // Description: 00010 // 00011 // Store things needed by a number of algorithms 00012 00013 // ................................................................ 00014 // 00015 00016 #ifndef ATLFAST_MISSINGMOMENTUM_H 00017 #define ATLFAST_MISSINGMOMENTUM_H 00018 00019 #include "GaudiKernel/DataObject.h" 00020 static const CLID CLID_MissingMomentum = 2310; 00021 namespace Atlfast { 00022 00023 class MissingMomentum : public DataObject { 00024 public: 00025 00026 MissingMomentum(): DataObject(), m_vec(0., 0., 0., 0){} 00027 MissingMomentum(const HepLorentzVector& v): DataObject(), m_vec(v){} 00028 MissingMomentum(const MissingMomentum& m): DataObject(m), m_vec(m.m_vec){} 00029 static const CLID& classID() { return CLID_MissingMomentum;} 00030 virtual const CLID& clID() const { return classID();} 00031 virtual ~MissingMomentum(){} 00032 00033 double px() const {return m_vec.x();} 00034 double py() const {return m_vec.y();} 00035 HepLorentzVector momentum()const {return m_vec;} 00036 00037 private: 00038 HepLorentzVector m_vec; 00039 }; 00040 00041 } //end of namespace bracket 00042 00043 #endif 00044 00045 00046 00047 00048 00049 00050 00051 00052 00053 00054 00055