HepMC3 event record library: Relatives Class Reference

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:
[legend]
Collaboration diagram for Relatives:
[legend]

## 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 const Ancestors | ANCESTORS
| Ancestors.
static HEPMC3search_Relatives_EXPORT_API 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 >, RelativesInterface< _children >, RelativesInterface< _parents >, RelativesInterface< Recursive< _children > >, and RelativesInterface< Recursive< _parents > >.

## ◆ operator()() [2/4]

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

Operator.

Implemented in RelativesInterface< Relative_type >, RelativesInterface< _children >, RelativesInterface< _parents >, RelativesInterface< Recursive< _children > >, and RelativesInterface< Recursive< _parents > >.

References ANCESTORS, CHILDREN, DESCENDANTS, and PARENTS.

## ◆ operator()() [3/4]

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

Operator.

Implemented in RelativesInterface< Relative_type >, RelativesInterface< _children >, RelativesInterface< _parents >, RelativesInterface< Recursive< _children > >, and RelativesInterface< Recursive< _parents > >.

## ◆ operator()() [4/4]

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

Operator.

Implemented in RelativesInterface< Relative_type >, RelativesInterface< _children >, RelativesInterface< _parents >, RelativesInterface< Recursive< _children > >, and RelativesInterface< Recursive< _parents > >.

## Field Documentation

## ◆ ANCESTORS

const Ancestors ANCESTORS
| thread_localstatic

Ancestors.

Definition at line 203 of file Relatives.h.

## ◆ CHILDREN

const Children CHILDREN
| static

Children.

Definition at line 202 of file Relatives.h.

## ◆ DESCENDANTS

const Descendants DESCENDANTS
| thread_localstatic

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:

- Relatives.h
- Relatives.cc