BOSS 7.0.7
BESIII Offline Software System
Loading...
Searching...
No Matches
CDPhoton Class Reference

#include <CDPhoton.h>

+ Inheritance diagram for CDPhoton:

Public Types

typedef CDCandidate CandidateClass
 
typedef EvtRecTrack VisibleEvidence
 
- Public Types inherited from CDCandidate
typedef CDDecay DecayEvidence
 
typedef std::pair< vector< const EvtRecTrack * >, vector< const EvtRecTrack * > > TracksAndShowers
 

Public Member Functions

 CDPhoton (const VisibleEvidence *aVisible)
 
 CDPhoton (const CDPhoton &aOtherCDPhoton)
 
virtual ~CDPhoton ()
 
virtual bool builtFromCDPhoton () const
 
virtual const EvtRecTrackphoton () const
 
virtual DBCandidate::Hypo hypo () const
 
- Public Member Functions inherited from CDCandidate
virtual ~CDCandidate ()
 
const CDCandidateoperator= (const CDCandidate &aOtherCDCandidate)
 
void setUserTag (int tag)
 
CDCandidatesetP4 (const HepLorentzVector &aMomentum)
 
int userTag () const
 
double mass () const
 
int charge () const
 
double energy () const
 
const Hep3Vector & momentum () const
 
const HepLorentzVector & p4 () const
 
const DecayChain::KinematicDatakinematicData () const
 
TracksAndShowers finalChildren () const
 
virtual DBCandidate::Hypo hypo () const
 
virtual bool builtFromTrack () const
 
virtual const EvtRecTracktrack () const
 
virtual bool builtFromCDPhoton () const
 
virtual const EvtRecTrackphoton () const
 
virtual bool builtFromCDPi0 () const
 
virtual const EvtRecPi0navPi0 () const
 
virtual bool builtFromCDEta () const
 
virtual const EvtRecEtaToGGnavEta () const
 
virtual bool builtFromCDKs () const
 
virtual const EvtRecVeeVertexnavKshort () const
 
virtual bool builtFromCDLambda () const
 
virtual const EvtRecVeeVertexnavLambda () const
 
virtual bool builtFromCDDecay () const
 
virtual const DecayEvidencedecay () const
 
bool overlap (const CDCandidate &aOtherCDCandidate) const
 
const CDFootPrintfootPrint () const
 
- Public Member Functions inherited from dchain::ReferenceCount
 ReferenceCount ()
 
virtual ~ReferenceCount ()
 
void addLink () const
 
void dropLink () const
 

Static Public Member Functions

static bool setIP (double x, double y, double z)
 

Protected Member Functions

virtual DecayChain::KinematicDatadefaultKinematicData () const
 
- Protected Member Functions inherited from CDCandidate
 CDCandidate (const CDCandidate &aOtherCDCandidate)
 
 CDCandidate (const CDFootPrint &aCDFootPrint)
 
void setKinematicData (const DecayChain::KinematicData &aKinematicData)
 
void setCDFootPrint (const CDFootPrint &aCDFootPrint)
 
virtual DecayChain::KinematicDatadefaultKinematicData () const =0
 
void recurseNode (TracksAndShowers &final, const CDCandidate &cand) const
 

Detailed Description

Definition at line 76 of file CDPhoton.h.

Member Typedef Documentation

◆ CandidateClass

Definition at line 82 of file CDPhoton.h.

◆ VisibleEvidence

Definition at line 83 of file CDPhoton.h.

Constructor & Destructor Documentation

◆ CDPhoton() [1/2]

CDPhoton::CDPhoton ( const VisibleEvidence aVisible)

Definition at line 110 of file CDPhoton.cxx.

110 :
112 m_visibleEvidence( aVisible )
113{
114}
Definition: CDMud.h:45

Referenced by CDPhoton().

◆ CDPhoton() [2/2]

CDPhoton::CDPhoton ( const CDPhoton aOtherCDPhoton)

Definition at line 119 of file CDPhoton.cxx.

119 :
120 CDCandidate( aOtherCDPhoton ) ,
121 m_visibleEvidence( aOtherCDPhoton.m_visibleEvidence )
122{
123}

◆ ~CDPhoton()

CDPhoton::~CDPhoton ( )
virtual

Definition at line 128 of file CDPhoton.cxx.

129{
130}

Member Function Documentation

◆ builtFromCDPhoton()

bool CDPhoton::builtFromCDPhoton ( ) const
virtual

Reimplemented from CDCandidate.

Definition at line 136 of file CDPhoton.cxx.

137{
138 return ( 0 != m_visibleEvidence ) ;
139}

◆ defaultKinematicData()

KinematicData * CDPhoton::defaultKinematicData ( ) const
protectedvirtual

Implements CDCandidate.

Definition at line 153 of file CDPhoton.cxx.

154{
155 RecEmcShower* emcShower = (const_cast<VisibleEvidence*>(m_visibleEvidence))->emcShower();
156
157 double eraw = emcShower->energy();
158
159 //double phi = emcShower->phi();
160 //double the = emcShower->theta();
161
162 Hep3Vector EmcV( emcShower->x(), emcShower->y(), emcShower->z() );
163 Hep3Vector PhotonV = EmcV - m_IPV;
164
165 double phi = PhotonV.phi();
166 double the = PhotonV.theta();
167
168 double px = eraw*sin(the)*cos(phi);
169 double py = eraw*sin(the)*sin(phi);
170 double pz = eraw*cos(the);
171
172 KinematicData* tmp = new KinematicData();
173
174 tmp->setP4( HepLorentzVector(px, py, pz, eraw) );
175
176 return tmp;
177}
double sin(const BesAngle a)
Definition: BesAngle.h:210
double cos(const BesAngle a)
Definition: BesAngle.h:213
EvtRecTrack VisibleEvidence
Definition: CDPhoton.h:83
void setP4(const HepLorentzVector &aMomentum)
double x() const
Definition: DstEmcShower.h:35
double z() const
Definition: DstEmcShower.h:37
double energy() const
Definition: DstEmcShower.h:45
double y() const
Definition: DstEmcShower.h:36

◆ hypo()

DBCandidate::Hypo CDPhoton::hypo ( ) const
inlinevirtual

Reimplemented from CDCandidate.

Definition at line 134 of file CDPhoton.h.

135{
137}

◆ photon()

const EvtRecTrack * CDPhoton::photon ( ) const
virtual

Reimplemented from CDCandidate.

Definition at line 145 of file CDPhoton.cxx.

146{
147 return m_visibleEvidence ;
148}

Referenced by LocalPhotonSelector::operator()().

◆ setIP()

static bool CDPhoton::setIP ( double  x,
double  y,
double  z 
)
inlinestatic

Definition at line 99 of file CDPhoton.h.

99 {
100 m_IPV.set(x, y, z);
101 }
double y[1000]

The documentation for this class was generated from the following files: