| HepMC3 event record library
    | 
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:
 Inheritance diagram for Relatives: Collaboration 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. | |
| 
 | pure virtual | 
Operator.
Implemented in RelativesInterface< Relative_type >, RelativesInterface< _children >, RelativesInterface< _children >, RelativesInterface< _parents >, RelativesInterface< _parents >, RelativesInterface< Recursive< _children > >, RelativesInterface< Recursive< _children > >, RelativesInterface< Recursive< _parents > >, and RelativesInterface< Recursive< _parents > >.
| 
 | pure virtual | 
Operator.
Implemented in RelativesInterface< Relative_type >, RelativesInterface< _children >, RelativesInterface< _children >, RelativesInterface< _parents >, RelativesInterface< _parents >, RelativesInterface< Recursive< _children > >, RelativesInterface< Recursive< _children > >, RelativesInterface< Recursive< _parents > >, and RelativesInterface< Recursive< _parents > >.
References ANCESTORS, CHILDREN, DESCENDANTS, and PARENTS.
| 
 | pure virtual | 
Operator.
Implemented in RelativesInterface< Relative_type >, RelativesInterface< _children >, RelativesInterface< _children >, RelativesInterface< _parents >, RelativesInterface< _parents >, RelativesInterface< Recursive< _children > >, RelativesInterface< Recursive< _children > >, RelativesInterface< Recursive< _parents > >, and RelativesInterface< Recursive< _parents > >.
| 
 | pure virtual | 
Operator.
Implemented in RelativesInterface< Relative_type >, RelativesInterface< _children >, RelativesInterface< _children >, RelativesInterface< _parents >, RelativesInterface< _parents >, RelativesInterface< Recursive< _children > >, RelativesInterface< Recursive< _children > >, RelativesInterface< Recursive< _parents > >, and RelativesInterface< Recursive< _parents > >.
| 
 | static | 
Definition at line 203 of file Relatives.h.
| 
 | static | 
Definition at line 202 of file Relatives.h.
| 
 | static | 
Definition at line 204 of file Relatives.h.
| 
 | static | 
Definition at line 201 of file Relatives.h.