CDEta Class Reference

#include <CleoDChain/CDEta.h>

Inheritance diagram for CDEta:

CDDecay CDCandidate dchain::ReferenceCount List of all members.

Public Types

typedef CDCandidate CandidateClass
typedef CDDecay DecayEvidence
typedef std::pair< vector<
const EvtRecTrack * >, vector<
const EvtRecTrack * > > 
TracksAndShowers

Public Member Functions

 CDEta (const EvtRecEtaToGG *aVisible)
virtual ~CDEta ()
virtual bool builtFromCDEta () const
virtual const EvtRecEtaToGGnavEta () const
void addChild (const CDCandidate &aAdditionalProduct)
void setKinematicData (const DecayChain::KinematicData &aKinematicData)
virtual bool builtFromCDDecay (void) const
virtual const CDDecaydecay (void) const
uint32_t numberChildren () const
void iterateChildren (void(*analyze)(const CDCandidate &)) const
void iterateChildren (DCAnalysisFunction< CDCandidate > &analyze) const
const CDCandidatechild (unsigned int aPosition) const
const std::vector< dchain::ReferenceHolder<
CDCandidate > > & 
children () const
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 builtFromCDKs () const
virtual const EvtRecVeeVertexnavKshort () const
virtual bool builtFromCDLambda () const
virtual const EvtRecVeeVertexnavLambda () const
bool overlap (const CDCandidate &aOtherCDCandidate) const
const CDFootPrintfootPrint () const
void addLink () const
void dropLink () const

Protected Member Functions

virtual DecayChain::KinematicDatadefaultKinematicData () const
void setCDFootPrint (const CDFootPrint &aCDFootPrint)
void recurseNode (TracksAndShowers &final, const CDCandidate &cand) const

Private Member Functions

const CDEtaoperator= (const CDEta &)

Private Attributes

const EvtRecEtaToGGm_eta

Detailed Description

Description: <one line="" class="" summary>="">

Usage: <usage>

petez (2009.2.25): This is a modified copy of BesDChain CDPi0.h

Definition at line 30 of file CDEta.h.


Member Typedef Documentation

typedef CDCandidate CDDecay::CandidateClass [inherited]

Definition at line 116 of file CDDecay.h.

typedef CDDecay CDCandidate::DecayEvidence [inherited]

Definition at line 129 of file CDCandidate.h.

typedef std::pair< vector<const EvtRecTrack*>, vector<const EvtRecTrack*> > CDCandidate::TracksAndShowers [inherited]

Definition at line 131 of file CDCandidate.h.


Constructor & Destructor Documentation

CDEta::CDEta ( const EvtRecEtaToGG aVisible  ) 

Definition at line 31 of file CDEta.cxx.

References CDDecay::addChild(), EvtRecEtaToGG::hiEnGamma(), and EvtRecEtaToGG::loEnGamma().

00031                                           :
00032   m_eta(aVisible)
00033 {
00034   ReferenceHolder<CDPhoton> tmp = new CDPhoton(aVisible->hiEnGamma());
00035   addChild(*tmp);
00036   tmp = new CDPhoton(aVisible->loEnGamma());
00037   addChild(*tmp);
00038 }

CDEta::~CDEta (  )  [virtual]

Definition at line 47 of file CDEta.cxx.

00048 {
00049 }


Member Function Documentation

void CDDecay::addChild ( const CDCandidate aAdditionalProduct  )  [inherited]

Definition at line 187 of file CDDecay.cxx.

References CDCandidate::footPrint(), CDDecay::m_children, and CDCandidate::setCDFootPrint().

Referenced by CDEta(), CDKs::CDKs(), CDLambda::CDLambda(), and CDPi0::CDPi0().

00188 {
00189     setCDFootPrint( footPrint() + aAdditionalProduct.footPrint() );
00190     m_children.push_back( ReferenceHolder<CDCandidate>(&aAdditionalProduct) ) ;
00191 }

void dchain::ReferenceCount::addLink (  )  const [inline, inherited]

Definition at line 107 of file ReferenceCount.h.

References dchain::ReferenceCount::m_linkCount.

00108 {
00109    //if (m_linkCount==0xFFFFFFFF) {
00110    //   throw TooManyReferencesException();
00111    //}
00112    ++m_linkCount ;
00113 }

bool CDDecay::builtFromCDDecay ( void   )  const [virtual, inherited]

Reimplemented from CDCandidate.

Definition at line 203 of file CDDecay.cxx.

00204 {
00205     return ( !false ) ;
00206 }

bool CDEta::builtFromCDEta (  )  const [virtual]

Reimplemented from CDCandidate.

Definition at line 57 of file CDEta.cxx.

00058 {
00059    return true;
00060 }

bool CDCandidate::builtFromCDKs (  )  const [virtual, inherited]

Reimplemented in CDKs.

Definition at line 307 of file CDCandidate.cxx.

00308 {
00309    return ( false ) ;
00310 }

bool CDCandidate::builtFromCDLambda (  )  const [virtual, inherited]

Reimplemented in CDLambda.

Definition at line 327 of file CDCandidate.cxx.

00328 {
00329    return ( false ) ;
00330 }

bool CDCandidate::builtFromCDPhoton (  )  const [virtual, inherited]

Reimplemented in CDPhoton.

Definition at line 247 of file CDCandidate.cxx.

Referenced by CDCandidate::recurseNode().

00248 {
00249    return ( false ) ;
00250 }

bool CDCandidate::builtFromCDPi0 (  )  const [virtual, inherited]

Reimplemented in CDPi0.

Definition at line 267 of file CDCandidate.cxx.

00268 {
00269    return ( false ) ;
00270 }

bool CDCandidate::builtFromTrack (  )  const [virtual, inherited]

Reimplemented in CDChargedVisible< H >.

Definition at line 227 of file CDCandidate.cxx.

Referenced by CDCandidate::recurseNode().

00228 {
00229    return ( false ) ;
00230 }

int CDCandidate::charge (  )  const [inherited]

Definition at line 154 of file CDCandidate.cxx.

References DecayChain::KinematicData::charge(), and CDCandidate::kinematicData().

Referenced by CDDecay::defaultKinematicData(), and CDChargedVisible< H >::defaultKinematicData().

00155 {
00156    return kinematicData()->charge();
00157 }

const CDCandidate & CDDecay::child ( unsigned int  aPosition  )  const [inherited]

Definition at line 247 of file CDDecay.cxx.

References CDDecay::m_children.

Referenced by CDDecay::defaultKinematicData(), and CDDecay::iterateChildren().

00248 {
00249     if ( aPosition >= m_children.size() ) {
00250         std::cerr << "Trying to access an invalid Child" << std::endl ;
00251         return ( *(m_children[ 0 ]) ) ;
00252     }
00253     return ( *(m_children[ aPosition ]) ) ;
00254 }

const vector< ReferenceHolder< CDCandidate > > & CDDecay::children (  )  const [inherited]

Definition at line 256 of file CDDecay.cxx.

References CDDecay::m_children.

Referenced by CDCandidate::recurseNode().

00257 {
00258     return ( m_children ) ;
00259 }

const CDDecay & CDDecay::decay ( void   )  const [virtual, inherited]

Reimplemented from CDCandidate.

Definition at line 208 of file CDDecay.cxx.

00209 {
00210     return ( *this ) ;
00211 }

KinematicData * CDEta::defaultKinematicData (  )  const [protected, virtual]

Reimplemented from CDDecay.

Definition at line 71 of file CDEta.cxx.

References EvtRecEtaToGG::hiPfit(), EvtRecEtaToGG::loPfit(), and m_eta.

00072 {
00073    return new KinematicData( m_eta->hiPfit() + m_eta->loPfit() );
00074 }

void dchain::ReferenceCount::dropLink (  )  const [inline, inherited]

Definition at line 115 of file ReferenceCount.h.

References dchain::ReferenceCount::m_linkCount.

00116 {
00117    --m_linkCount ;
00118    if ( 0 == m_linkCount ) {
00119 // It is necessary to throw away the 'const' so that the object
00120 //   can be deleted
00121       delete const_cast<ReferenceCount*>(this) ;
00122    }
00123 }

double CDCandidate::energy (  )  const [inherited]

Definition at line 163 of file CDCandidate.cxx.

References DecayChain::KinematicData::energy(), and CDCandidate::kinematicData().

Referenced by NeutralDSelector::operator()(), DsSelector::operator()(), and ChargedDSelector::operator()().

00164 {
00165    return kinematicData()->energy();
00166 }

CDCandidate::TracksAndShowers CDCandidate::finalChildren (  )  const [inherited]

Definition at line 193 of file CDCandidate.cxx.

References CDCandidate::recurseNode().

00194 {
00195    TracksAndShowers blocks;
00196    recurseNode(blocks, *this);
00197    return blocks;
00198 }

const CDFootPrint & CDCandidate::footPrint (  )  const [inherited]

Definition at line 375 of file CDCandidate.cxx.

References CDCandidate::m_footPrint.

Referenced by CDDecay::addChild(), CDCandidate::operator=(), and CDCandidate::overlap().

00376 {
00377    return ( m_footPrint ) ;
00378 }

DBCandidate::Hypo CDCandidate::hypo (  )  const [inline, virtual, inherited]

Reimplemented in CDChargedVisible< H >, and CDPhoton.

Definition at line 212 of file CDCandidate.h.

References DBCandidate::kMaxHypo.

00213 {
00214     return DBCandidate::kMaxHypo;
00215 }

void CDDecay::iterateChildren ( DCAnalysisFunction< CDCandidate > &  analyze  )  const [inherited]

Definition at line 237 of file CDDecay.cxx.

References CDDecay::child(), and CDDecay::m_children.

00238 {
00239     vector< ReferenceHolder<CDCandidate> >::const_iterator finished ( m_children.end() ) ;
00240     for ( vector< ReferenceHolder<CDCandidate> >::const_iterator child ( m_children.begin() ) ;
00241             child != finished ;
00242             ++child ) {
00243         analyze( (*(*child)) ) ;
00244     }
00245 }

void CDDecay::iterateChildren ( void(*)(const CDCandidate &)  analyze  )  const [inherited]

Definition at line 224 of file CDDecay.cxx.

References CDDecay::child(), and CDDecay::m_children.

00225 {
00226     vector< ReferenceHolder<CDCandidate> >::const_iterator finished( m_children.end() ) ;
00227     for ( vector< ReferenceHolder<CDCandidate> >::const_iterator child( m_children.begin() ) ;
00228             child != finished ;
00229             ++child ) {
00230         analyze( (*(*child)) ) ;
00231     }
00232 }

const KinematicData * CDCandidate::kinematicData (  )  const [inherited]

Definition at line 185 of file CDCandidate.cxx.

References CDCandidate::modifiableKinematicData().

Referenced by CDCandidate::CDCandidate(), CDCandidate::charge(), CDCandidate::energy(), CDCandidate::mass(), CDCandidate::momentum(), CDCandidate::operator=(), CDCandidate::p4(), and CDCandidate::userTag().

00186 {
00187    // Cast away `const' to pick up the function.
00188    // This is safe as the result is being returned as a `const'
00189    return ( (*(CDCandidate*)this).modifiableKinematicData() );
00190 }

double CDCandidate::mass (  )  const [inherited]

Definition at line 145 of file CDCandidate.cxx.

References CDCandidate::kinematicData(), and DecayChain::KinematicData::mass().

Referenced by CDKs::defaultKinematicData(), CDChargedVisible< H >::defaultKinematicData(), NeutralDSelector::operator()(), LocalRhotoPiPiSelector::operator()(), LocalEtatoPiPiPi0Selector::operator()(), LocalEptoRhoGamSelector::operator()(), LocalEptoPiPiEtaSelector::operator()(), LocalEptoPiPiEta3PiSelector::operator()(), DsSelector::operator()(), and ChargedDSelector::operator()().

00146 {
00147    return kinematicData()->mass();
00148 }

const Hep3Vector & CDCandidate::momentum (  )  const [inherited]

Definition at line 172 of file CDCandidate.cxx.

References CDCandidate::kinematicData(), and DecayChain::KinematicData::p4().

Referenced by NeutralDSelector::operator()(), DsSelector::operator()(), and ChargedDSelector::operator()().

00173 {
00174    return kinematicData()->p4();
00175 }

const EvtRecEtaToGG * CDEta::navEta (  )  const [virtual]

Reimplemented from CDCandidate.

Definition at line 66 of file CDEta.cxx.

References m_eta.

Referenced by LocalEtatoGGSelector::operator()().

00067 {
00068    return ( m_eta ) ;
00069 }

const EvtRecVeeVertex * CDCandidate::navKshort (  )  const [virtual, inherited]

Reimplemented in CDKs.

Definition at line 316 of file CDCandidate.cxx.

00317 {
00318    std::cerr << "No NavKs for this CDCandidate" << std::endl ;
00319    exit( 1 ) ;
00320    return ( (EvtRecVeeVertex*)0 ) ;
00321 }

const EvtRecVeeVertex * CDCandidate::navLambda (  )  const [virtual, inherited]

Reimplemented in CDLambda.

Definition at line 336 of file CDCandidate.cxx.

00337 {
00338    std::cerr << "No NavLambda for this CDCandidate" << std::endl ;
00339    exit( 1 ) ;
00340    return ( (EvtRecVeeVertex*)0 ) ;
00341 }

const EvtRecPi0 * CDCandidate::navPi0 (  )  const [virtual, inherited]

Reimplemented in CDPi0.

Definition at line 276 of file CDCandidate.cxx.

Referenced by DsReconstruction::execute().

00277 {
00278    std::cerr << "No NavCDPi0 for this CDCandidate" << std::endl ;
00279    exit( 1 ) ;
00280    return ( (EvtRecPi0*)0 ) ;
00281 }

uint32_t CDDecay::numberChildren (  )  const [inherited]

Definition at line 216 of file CDDecay.cxx.

References CDDecay::m_children.

00217 {
00218     return ( m_children.size() ) ;
00219 }

const CDEta& CDEta::operator= ( const CDEta  )  [private]

bool CDCandidate::overlap ( const CDCandidate aOtherCDCandidate  )  const [inherited]

Definition at line 367 of file CDCandidate.cxx.

References CDCandidate::footPrint(), CDCandidate::m_footPrint, and CDFootPrint::overlap().

00368 {
00369    return ( m_footPrint.overlap( aOtherCDCandidate.footPrint() ) ) ;
00370 }

const HepLorentzVector & CDCandidate::p4 (  )  const [inherited]

Definition at line 177 of file CDCandidate.cxx.

References CDCandidate::kinematicData(), and DecayChain::KinematicData::p4().

Referenced by CDDecay::defaultKinematicData().

00178 {
00179    return kinematicData()->p4();
00180 }

const EvtRecTrack * CDCandidate::photon (  )  const [virtual, inherited]

Reimplemented in CDPhoton.

Definition at line 256 of file CDCandidate.cxx.

Referenced by NeutralDReconstruction::execute(), DsReconstruction::execute(), and CDCandidate::recurseNode().

00257 {
00258    std::cerr << "No NavShower for this CDCandidate" << std::endl ;
00259    exit( 1 ) ;
00260    return ( (EvtRecTrack*)0 ) ;
00261 }

void CDCandidate::recurseNode ( TracksAndShowers final,
const CDCandidate cand 
) const [protected, inherited]

Definition at line 201 of file CDCandidate.cxx.

References CDCandidate::builtFromCDPhoton(), CDCandidate::builtFromTrack(), CDDecay::children(), CDCandidate::decay(), first, CDCandidate::photon(), EvtCyclic3::second(), and CDCandidate::track().

Referenced by CDCandidate::finalChildren().

00203 {
00204    if(cand.builtFromTrack())
00205    {
00206       final.first.push_back( cand.track() );
00207       return;
00208    }
00209    if(cand.builtFromCDPhoton())
00210    {
00211       final.second.push_back( cand.photon() );
00212       return;
00213    }
00214    const DecayEvidence& decay = cand.decay();
00215    const vector< ReferenceHolder<CDCandidate> >& children = decay.children();
00216    vector< ReferenceHolder<CDCandidate> >::const_iterator lastChild = children.end();
00217    for(vector<ReferenceHolder<CDCandidate> >::const_iterator child = children.begin();
00218        child != lastChild; ++child)
00219    {
00220       recurseNode(final, **child);
00221    }
00222 }

void CDCandidate::setCDFootPrint ( const CDFootPrint aCDFootPrint  )  [protected, inherited]

Definition at line 117 of file CDCandidate.cxx.

References CDCandidate::m_footPrint.

Referenced by CDDecay::addChild().

00118 {
00119    m_footPrint = aCDFootPrint ;
00120 }

void CDDecay::setKinematicData ( const DecayChain::KinematicData aKinematicData  )  [inherited]

Reimplemented from CDCandidate.

Definition at line 193 of file CDDecay.cxx.

References CDCandidate::setKinematicData().

00194 {
00195     // Call setKinematicData of my super-class
00196     CDCandidate::setKinematicData( aKinematicData );
00197 }

CDCandidate & CDCandidate::setP4 ( const HepLorentzVector &  aMomentum  )  [inherited]

Definition at line 88 of file CDCandidate.cxx.

References CDCandidate::modifiableKinematicData(), and DecayChain::KinematicData::setP4().

00089 {
00090    this->modifiableKinematicData()->setP4( aMomentum ) ;
00091    return( *this ) ;
00092 }

void CDCandidate::setUserTag ( int  tag  )  [inherited]

Definition at line 81 of file CDCandidate.cxx.

References CDCandidate::modifiableKinematicData(), and DecayChain::KinematicData::setUserTag().

Referenced by LocalRhotoPiPiSelector::operator()(), LocalPionSelector::operator()(), LocalPi0Selector::operator()(), LocalPhotonSelector::operator()(), LocalKsSelector::operator()(), LocalKaonSelector::operator()(), LocalEtatoPiPiPi0Selector::operator()(), LocalEtatoGGSelector::operator()(), LocalEptoRhoGamSelector::operator()(), LocalEptoPiPiEtaSelector::operator()(), and LocalEptoPiPiEta3PiSelector::operator()().

00082 {
00083     this->modifiableKinematicData()->setUserTag( tag );
00084 }

const EvtRecTrack * CDCandidate::track (  )  const [virtual, inherited]

Reimplemented in CDChargedVisible< H >.

Definition at line 236 of file CDCandidate.cxx.

Referenced by NeutralDReconstruction::execute(), DsReconstruction::execute(), and CDCandidate::recurseNode().

00237 {
00238    std::cerr << "No navtrack for this CDCandidate" << std::endl ;
00239    exit( 1 ) ;
00240    return ( (EvtRecTrack*)0 ) ;
00241 }

int CDCandidate::userTag (  )  const [inherited]

Definition at line 137 of file CDCandidate.cxx.

References CDCandidate::kinematicData(), and DecayChain::KinematicData::userTag().

Referenced by CDDecay::defaultKinematicData(), LocalPionSelector::operator()(), and LocalKaonSelector::operator()().

00138 {
00139     return kinematicData()->userTag();
00140 }


Member Data Documentation

const EvtRecEtaToGG* CDEta::m_eta [private]

Definition at line 68 of file CDEta.h.

Referenced by defaultKinematicData(), and navEta().


Generated on Tue Nov 29 23:18:02 2016 for BOSS_7.0.2 by  doxygen 1.4.7