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 53 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 const Parents PARENTS
 Parents. More...
 
static const Children CHILDREN
 Children. More...
 
static thread_local const Ancestors ANCESTORS
 Ancestors. More...
 
static 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 66 of file Relatives.h.

const Children CHILDREN
static

Children.

Definition at line 65 of file Relatives.h.

thread_local const Descendants DESCENDANTS
static

Descendants.

Definition at line 67 of file Relatives.h.

const Parents PARENTS
static

Parents.

Definition at line 64 of file Relatives.h.


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