HepMC3 event record library
Public Member Functions | Static Public Attributes
Relatives Class Referenceabstract

Detailed Description

Define a common interface that all Relatives objects will satisfy Relatives provides an operator to get the relatives of a range of different GenObject types. The following are examples.

Relatives::ANCESTORS(GenParticlePtr);// returns ancestors of the particle Descendants descendants; descendants(GenVertexPtr);// descendants of the vertex vector<Relatives*> relations = {&Relatives::CHILDREN, &Relatives::DESCENDANTS, &Relatives::PARENTS, new Ancestors()}; // make a vector of Relatives

You can also define your own relation and wrap it in the Relatives interface using Relatives * relo = new RelativesInterface<MyRelationClass>();

Definition at line 182 of file Relatives.h.

#include <Relatives.h>

+ Inheritance diagram for Relatives:
+ Collaboration diagram for Relatives:

Public Member Functions

virtual std::vector< GenParticlePtr > operator() (GenParticlePtr input) const =0
 Operator.
 
virtual std::vector< ConstGenParticlePtr > operator() (ConstGenParticlePtr input) const =0
 Operator.
 
virtual std::vector< GenParticlePtr > operator() (GenVertexPtr input) const =0
 Operator.
 
virtual std::vector< ConstGenParticlePtr > operator() (ConstGenVertexPtr input) const =0
 Operator.
 

Static Public Attributes

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

Member Function Documentation

◆ operator()() [1/4]

virtual std::vector< ConstGenParticlePtr > operator() ( ConstGenParticlePtr  input) const
pure virtual

Operator.

Implemented in RelativesInterface< Relative_type >.

◆ operator()() [2/4]

virtual std::vector< ConstGenParticlePtr > operator() ( ConstGenVertexPtr  input) const
pure virtual

Operator.

Implemented in RelativesInterface< Relative_type >.

◆ operator()() [3/4]

virtual std::vector< GenParticlePtr > operator() ( GenParticlePtr  input) const
pure virtual

Operator.

Implemented in RelativesInterface< Relative_type >.

◆ operator()() [4/4]

virtual std::vector< GenParticlePtr > operator() ( GenVertexPtr  input) const
pure virtual

Operator.

Implemented in RelativesInterface< Relative_type >.

Field Documentation

◆ ANCESTORS

thread_local const Ancestors ANCESTORS
static

Ancestors.

Definition at line 203 of file Relatives.h.

◆ CHILDREN

const Children CHILDREN
static

Children.

Definition at line 202 of file Relatives.h.

◆ DESCENDANTS

thread_local const Descendants DESCENDANTS
static

Descendants.

Definition at line 204 of file Relatives.h.

◆ PARENTS

const Parents PARENTS
static

Parents.

Definition at line 201 of file Relatives.h.


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