97#include "BesDChain/util/KinematicData.h"
98#include "EvtRecEvent/EvtRecTrack.h"
99#include "EmcRecEventModel/RecEmcShower.h"
100#include "BesDChain/CDMud.h"
101#include "BesDChain/CDPhoton.h"
105Hep3Vector CDPhoton::m_IPV(0.0, 0.0, 0.0);
112 m_visibleEvidence( aVisible )
121 m_visibleEvidence( aOtherCDPhoton.m_visibleEvidence )
138 return ( 0 != m_visibleEvidence ) ;
147 return m_visibleEvidence ;
157 double eraw = emcShower->
energy();
162 Hep3Vector EmcV( emcShower->
x(), emcShower->
y(), emcShower->
z() );
163 Hep3Vector PhotonV = EmcV - m_IPV;
165 double phi = PhotonV.phi();
166 double the = PhotonV.theta();
168 double px = eraw*
sin(the)*
cos(phi);
169 double py = eraw*
sin(the)*
sin(phi);
170 double pz = eraw*
cos(the);
174 tmp->
setP4( HepLorentzVector(px, py, pz, eraw) );
double sin(const BesAngle a)
double cos(const BesAngle a)
virtual const EvtRecTrack * photon() const
virtual bool builtFromCDPhoton() const
CDPhoton(const VisibleEvidence *aVisible)
virtual DecayChain::KinematicData * defaultKinematicData() const
void setP4(const HepLorentzVector &aMomentum)