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. More...
 
virtual std::vector
< ConstGenParticlePtr > 
operator() (ConstGenParticlePtr input) const =0
 Operator. More...
 
virtual std::vector
< GenParticlePtr > 
operator() (GenVertexPtr input) const =0
 Operator. More...
 
virtual std::vector
< ConstGenParticlePtr > 
operator() (ConstGenVertexPtr input) const =0
 Operator. More...
 

Static Public Attributes

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

Member Function Documentation

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

Operator.

Implemented in RelativesInterface< T >.

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

Operator.

Implemented in RelativesInterface< T >.

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

Operator.

Implemented in RelativesInterface< T >.

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

Operator.

Implemented in RelativesInterface< T >.

Field Documentation

thread_local const Ancestors ANCESTORS
static

Ancestors.

Definition at line 203 of file Relatives.h.

const Children CHILDREN
static

Children.

Definition at line 202 of file Relatives.h.

thread_local const Descendants DESCENDANTS
static

Descendants.

Definition at line 204 of file Relatives.h.

const Parents PARENTS
static

Parents.

Definition at line 201 of file Relatives.h.


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