00001 #include <cmath> 00002 #include "BesDChain/util/KinematicData.h" 00003 00004 using DecayChain::KinematicData; 00005 00006 KinematicData::KinematicData() 00007 :m_userTag(0), 00008 m_charge(0) 00009 #ifdef EXTEND 00010 ,m_hasbeenbakup(false) 00011 #endif 00012 { 00013 } 00014 00015 KinematicData::KinematicData(const HepLorentzVector& p4) : 00016 m_userTag(0), 00017 m_charge(0), 00018 m_p4(p4) 00019 #ifdef EXTEND 00020 ,m_hasbeenbakup(false) 00021 #endif 00022 { 00023 #ifdef EXTEND 00024 bakup(); 00025 #endif 00026 } 00027 00028 void KinematicData::setUserTag( const int tag ) { 00029 m_userTag = tag; 00030 } 00031 00032 void KinematicData::setCharge( const int aCharge ) { 00033 m_charge = aCharge; 00034 } 00035 00036 void KinematicData::setP4( const HepLorentzVector& aMomentum ) 00037 { 00038 m_p4 = aMomentum; 00039 #ifdef EXTEND 00040 bakup(); 00041 #endif 00042 } 00043 00044 int KinematicData::userTag() const { 00045 return m_userTag; 00046 } 00047 00048 int KinematicData::charge() const { 00049 return m_charge; 00050 } 00051 00052 double KinematicData::mass() const { 00053 return m_p4.m(); 00054 } 00055 00056 double KinematicData::energy() const { 00057 return m_p4.e(); 00058 } 00059 00060 const HepLorentzVector& KinematicData::p4() const { 00061 return m_p4; 00062 }