HepMC3 event record library
Public Member Functions | Static Public Attributes | Private Attributes
RelativesInterface< Relative_type > Class Template Reference

Detailed Description

template<typename Relative_type>
class HepMC3::RelativesInterface< Relative_type >

forward declare the Relatives interface in which _parents and _children are wrapped

wrap a templated class that implements Relatives Since we need to template the functionality on the input type (GenParticlePtr, ConstGenVertexPtr etc.) we must wrap a class that has a templated operator in this that provides the Relatives interface and calls through to the underlying template method.

Definition at line 74 of file Relatives.h.

#include <Relatives.h>

+ Inheritance diagram for RelativesInterface< Relative_type >:
+ Collaboration diagram for RelativesInterface< Relative_type >:

Public Member Functions

GenParticles_type< GenParticlePtr > operator() (GenParticlePtr input) const override
 
GenParticles_type< ConstGenParticlePtr > operator() (ConstGenParticlePtr input) const override
 
GenParticles_type< GenVertexPtr > operator() (GenVertexPtr input) const override
 
GenParticles_type< ConstGenVertexPtr > operator() (ConstGenVertexPtr input) const override
 

Static Public Attributes

static const Parents PARENTS
 
static const Children CHILDREN
 
static thread_local const Ancestors ANCESTORS
 
static thread_local const Descendants DESCENDANTS
 

Private Attributes

Relative_type _internal
 

Constructor & Destructor Documentation

◆ RelativesInterface()

template<typename Relative_type >
constexpr RelativesInterface ( )
inlineconstexpr

Definition at line 80 of file Relatives.h.

Member Function Documentation

◆ operator()() [1/4]

template<typename Relative_type >
GenParticles_type< ConstGenParticlePtr > operator() ( ConstGenParticlePtr  input) const
inlineoverridevirtual

Implements Relatives.

Definition at line 83 of file Relatives.h.

◆ operator()() [2/4]

template<typename Relative_type >
GenParticles_type< ConstGenVertexPtr > operator() ( ConstGenVertexPtr  input) const
inlineoverridevirtual

Implements Relatives.

Definition at line 85 of file Relatives.h.

◆ operator()() [3/4]

template<typename Relative_type >
GenParticles_type< GenParticlePtr > operator() ( GenParticlePtr  input) const
inlineoverridevirtual

Implements Relatives.

Definition at line 82 of file Relatives.h.

◆ operator()() [4/4]

template<typename Relative_type >
GenParticles_type< GenVertexPtr > operator() ( GenVertexPtr  input) const
inlineoverridevirtual

Implements Relatives.

Definition at line 84 of file Relatives.h.

Field Documentation

◆ _internal

template<typename Relative_type >
Relative_type _internal
private

Definition at line 89 of file Relatives.h.

◆ ANCESTORS

thread_local const Ancestors ANCESTORS
staticinherited

Definition at line 62 of file Relatives.h.

◆ CHILDREN

const Children CHILDREN
staticinherited

Definition at line 61 of file Relatives.h.

◆ DESCENDANTS

thread_local const Descendants DESCENDANTS
staticinherited

Definition at line 63 of file Relatives.h.

◆ PARENTS

const Parents PARENTS
staticinherited

Definition at line 60 of file Relatives.h.


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