BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
HepMcParticleLink Class Reference

a link optimized in size for a GenParticle in a McEventCollection More...

#include <HepMcParticleLink.h>

Public Types

typedef unsigned int index_type
typedef unsigned int index_type
typedef unsigned int index_type

Public Member Functions

structors
 HepMcParticleLink ()
 HepMcParticleLink (index_type barCode, index_type eventIndex=0)
 HepMcParticleLink (const HepMC::GenParticle *p, index_type eventIndex=0)
 HepMcParticleLink (const HepMcParticleLink &rhs)
 HepMcParticleLink (const HepMC::GenParticle *part, const HepMC::GenEvent *pevt)
 HepMcParticleLink ()
 HepMcParticleLink (index_type barCode, index_type eventIndex=0)
 HepMcParticleLink (const HepMC::GenParticle *p, index_type eventIndex=0)
 HepMcParticleLink (const HepMcParticleLink &rhs)
 HepMcParticleLink (const HepMC::GenParticle *part, const HepMC::GenEvent *pevt)
 HepMcParticleLink ()
 HepMcParticleLink (index_type barCode, index_type eventIndex=0)
 HepMcParticleLink (const HepMC::GenParticle *p, index_type eventIndex=0)
 HepMcParticleLink (const HepMcParticleLink &rhs)
 HepMcParticleLink (const HepMC::GenParticle *part, const HepMC::GenEvent *pevt)
pointer interface
const HepMC::GenParticle & operator* () const
const HepMC::GenParticle * operator-> () const
 operator const HepMC::GenParticle * () const
bool operator! () const
const HepMC::GenParticle & operator* () const
const HepMC::GenParticle * operator-> () const
 operator const HepMC::GenParticle * () const
bool operator! () const
const HepMC::GenParticle & operator* () const
const HepMC::GenParticle * operator-> () const
 operator const HepMC::GenParticle * () const
bool operator! () const

indexing accessors (e.g. for writing)

int barcode () const
index_type eventIndex () const
bool isValid () const
const HepMC::GenParticle * cptr () const
int barcode () const
index_type eventIndex () const
bool isValid () const
const HepMC::GenParticle * cptr () const
int barcode () const
index_type eventIndex () const
bool isValid () const
const HepMC::GenParticle * cptr () const

Detailed Description

a link optimized in size for a GenParticle in a McEventCollection

See also
McEventCollection, GenEvent, ElementLink
Author
Paolo Calafiura
Id
HepMcParticleLink.h,v 1.1.1.1 2004/09/28 06:40:36 liwd Exp

Definition at line 17 of file Event/GeneratorObject/include/GeneratorObject/HepMcParticleLink.h.

Member Typedef Documentation

◆ index_type [1/3]

◆ index_type [2/3]

◆ index_type [3/3]

Constructor & Destructor Documentation

◆ HepMcParticleLink() [1/15]

HepMcParticleLink::HepMcParticleLink ( )
inline

Definition at line 23 of file Event/GeneratorObject/include/GeneratorObject/HepMcParticleLink.h.

23: m_particle( 0 ), m_extBarcode() {}

Referenced by HepMcParticleLink().

◆ HepMcParticleLink() [2/15]

HepMcParticleLink::HepMcParticleLink ( index_type barCode,
index_type eventIndex = 0 )
inline

Definition at line 24 of file Event/GeneratorObject/include/GeneratorObject/HepMcParticleLink.h.

25 : m_particle( 0 ), m_extBarcode( barCode, eventIndex ) {}

◆ HepMcParticleLink() [3/15]

HepMcParticleLink::HepMcParticleLink ( const HepMC::GenParticle * p,
index_type eventIndex = 0 )

Definition at line 8 of file HepMcParticleLink.cxx.

9 : m_particle( const_cast<HepMC::GenParticle*>( part ) )
10 , m_extBarcode( ( 0 != part ) ? part->barcode() : 0, eventIndex ) {
11 assert( part );
12}

◆ HepMcParticleLink() [4/15]

HepMcParticleLink::HepMcParticleLink ( const HepMcParticleLink & rhs)
inline

Definition at line 27 of file Event/GeneratorObject/include/GeneratorObject/HepMcParticleLink.h.

28 : m_particle( rhs.m_particle ), m_extBarcode( rhs.m_extBarcode ) {}

◆ HepMcParticleLink() [5/15]

HepMcParticleLink::HepMcParticleLink ( const HepMC::GenParticle * part,
const HepMC::GenEvent * pevt )

◆ HepMcParticleLink() [6/15]

HepMcParticleLink::HepMcParticleLink ( )
inline

Definition at line 23 of file InstallArea/x86_64-el9-gcc13-dbg/include/GeneratorObject/HepMcParticleLink.h.

23: m_particle( 0 ), m_extBarcode() {}

◆ HepMcParticleLink() [7/15]

HepMcParticleLink::HepMcParticleLink ( index_type barCode,
index_type eventIndex = 0 )
inline

Definition at line 24 of file InstallArea/x86_64-el9-gcc13-dbg/include/GeneratorObject/HepMcParticleLink.h.

25 : m_particle( 0 ), m_extBarcode( barCode, eventIndex ) {}

◆ HepMcParticleLink() [8/15]

HepMcParticleLink::HepMcParticleLink ( const HepMC::GenParticle * p,
index_type eventIndex = 0 )

◆ HepMcParticleLink() [9/15]

HepMcParticleLink::HepMcParticleLink ( const HepMcParticleLink & rhs)
inline

Definition at line 27 of file InstallArea/x86_64-el9-gcc13-dbg/include/GeneratorObject/HepMcParticleLink.h.

28 : m_particle( rhs.m_particle ), m_extBarcode( rhs.m_extBarcode ) {}

◆ HepMcParticleLink() [10/15]

HepMcParticleLink::HepMcParticleLink ( const HepMC::GenParticle * part,
const HepMC::GenEvent * pevt )

◆ HepMcParticleLink() [11/15]

HepMcParticleLink::HepMcParticleLink ( )
inline

Definition at line 23 of file InstallArea/x86_64-el9-gcc13-opt/include/GeneratorObject/HepMcParticleLink.h.

23: m_particle( 0 ), m_extBarcode() {}

◆ HepMcParticleLink() [12/15]

HepMcParticleLink::HepMcParticleLink ( index_type barCode,
index_type eventIndex = 0 )
inline

Definition at line 24 of file InstallArea/x86_64-el9-gcc13-opt/include/GeneratorObject/HepMcParticleLink.h.

25 : m_particle( 0 ), m_extBarcode( barCode, eventIndex ) {}

◆ HepMcParticleLink() [13/15]

HepMcParticleLink::HepMcParticleLink ( const HepMC::GenParticle * p,
index_type eventIndex = 0 )

◆ HepMcParticleLink() [14/15]

HepMcParticleLink::HepMcParticleLink ( const HepMcParticleLink & rhs)
inline

Definition at line 27 of file InstallArea/x86_64-el9-gcc13-opt/include/GeneratorObject/HepMcParticleLink.h.

28 : m_particle( rhs.m_particle ), m_extBarcode( rhs.m_extBarcode ) {}

◆ HepMcParticleLink() [15/15]

HepMcParticleLink::HepMcParticleLink ( const HepMC::GenParticle * part,
const HepMC::GenEvent * pevt )

Member Function Documentation

◆ barcode() [1/3]

int HepMcParticleLink::barcode ( ) const
inline

Definition at line 44 of file Event/GeneratorObject/include/GeneratorObject/HepMcParticleLink.h.

44{ return m_extBarcode.barcode(); }

Referenced by HepMcParticleLink().

◆ barcode() [2/3]

int HepMcParticleLink::barcode ( ) const
inline

Definition at line 44 of file InstallArea/x86_64-el9-gcc13-dbg/include/GeneratorObject/HepMcParticleLink.h.

44{ return m_extBarcode.barcode(); }

◆ barcode() [3/3]

int HepMcParticleLink::barcode ( ) const
inline

Definition at line 44 of file InstallArea/x86_64-el9-gcc13-opt/include/GeneratorObject/HepMcParticleLink.h.

44{ return m_extBarcode.barcode(); }

◆ cptr() [1/3]

const HepMC::GenParticle * HepMcParticleLink::cptr ( ) const

Definition at line 14 of file HepMcParticleLink.cxx.

14 {
15 if ( !m_particle )
16 {
17 /*const McEventCollection* pEvtColl;
18 if ((StoreGate::instance().retrieve(pEvtColl)).isSuccess()) { //FIXME SLOW
19 m_particle = pEvtColl->at(eventIndex())->barcode_to_particle(barcode());
20 }*/
21 }
22 return m_particle;
23}

Referenced by isValid(), operator const HepMC::GenParticle *(), operator*(), and operator->().

◆ cptr() [2/3]

const HepMC::GenParticle * HepMcParticleLink::cptr ( ) const

◆ cptr() [3/3]

const HepMC::GenParticle * HepMcParticleLink::cptr ( ) const

◆ eventIndex() [1/3]

index_type HepMcParticleLink::eventIndex ( ) const
inline

Definition at line 45 of file Event/GeneratorObject/include/GeneratorObject/HepMcParticleLink.h.

45{ return m_extBarcode.eventIndex(); }

Referenced by HepMcParticleLink(), and HepMcParticleLink().

◆ eventIndex() [2/3]

index_type HepMcParticleLink::eventIndex ( ) const
inline

Definition at line 45 of file InstallArea/x86_64-el9-gcc13-dbg/include/GeneratorObject/HepMcParticleLink.h.

45{ return m_extBarcode.eventIndex(); }

◆ eventIndex() [3/3]

index_type HepMcParticleLink::eventIndex ( ) const
inline

Definition at line 45 of file InstallArea/x86_64-el9-gcc13-opt/include/GeneratorObject/HepMcParticleLink.h.

45{ return m_extBarcode.eventIndex(); }

◆ isValid() [1/3]

bool HepMcParticleLink::isValid ( ) const
inline

Definition at line 48 of file Event/GeneratorObject/include/GeneratorObject/HepMcParticleLink.h.

48{ return ( 0 != cptr() ); }

Referenced by operator!().

◆ isValid() [2/3]

bool HepMcParticleLink::isValid ( ) const
inline

Definition at line 48 of file InstallArea/x86_64-el9-gcc13-dbg/include/GeneratorObject/HepMcParticleLink.h.

48{ return ( 0 != cptr() ); }

◆ isValid() [3/3]

bool HepMcParticleLink::isValid ( ) const
inline

Definition at line 48 of file InstallArea/x86_64-el9-gcc13-opt/include/GeneratorObject/HepMcParticleLink.h.

48{ return ( 0 != cptr() ); }

◆ operator const HepMC::GenParticle *() [1/3]

HepMcParticleLink::operator const HepMC::GenParticle * ( ) const
inline

Definition at line 38 of file Event/GeneratorObject/include/GeneratorObject/HepMcParticleLink.h.

38{ return cptr(); }

◆ operator const HepMC::GenParticle *() [2/3]

HepMcParticleLink::operator const HepMC::GenParticle * ( ) const
inline

◆ operator const HepMC::GenParticle *() [3/3]

HepMcParticleLink::operator const HepMC::GenParticle * ( ) const
inline

◆ operator!() [1/3]

bool HepMcParticleLink::operator! ( ) const
inline

◆ operator!() [2/3]

bool HepMcParticleLink::operator! ( ) const
inline

◆ operator!() [3/3]

bool HepMcParticleLink::operator! ( ) const
inline

◆ operator*() [1/3]

const HepMC::GenParticle & HepMcParticleLink::operator* ( ) const
inline
Exceptions
std::runtime_errorwhen the element is not found

Definition at line 36 of file Event/GeneratorObject/include/GeneratorObject/HepMcParticleLink.h.

36{ return *cptr(); } // FIXME

◆ operator*() [2/3]

const HepMC::GenParticle & HepMcParticleLink::operator* ( ) const
inline
Exceptions
std::runtime_errorwhen the element is not found

Definition at line 36 of file InstallArea/x86_64-el9-gcc13-dbg/include/GeneratorObject/HepMcParticleLink.h.

36{ return *cptr(); } // FIXME

◆ operator*() [3/3]

const HepMC::GenParticle & HepMcParticleLink::operator* ( ) const
inline
Exceptions
std::runtime_errorwhen the element is not found

Definition at line 36 of file InstallArea/x86_64-el9-gcc13-opt/include/GeneratorObject/HepMcParticleLink.h.

36{ return *cptr(); } // FIXME

◆ operator->() [1/3]

const HepMC::GenParticle * HepMcParticleLink::operator-> ( ) const
inline

Definition at line 37 of file Event/GeneratorObject/include/GeneratorObject/HepMcParticleLink.h.

37{ return cptr(); }

◆ operator->() [2/3]

const HepMC::GenParticle * HepMcParticleLink::operator-> ( ) const
inline

◆ operator->() [3/3]

const HepMC::GenParticle * HepMcParticleLink::operator-> ( ) const
inline

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