10#ifndef HEPMC3_SELECTOR_H
11#define HEPMC3_SELECTOR_H
84template<
typename Feature_type>
163#ifndef NO_DECLSPEC_StandardSelector
165#ifdef HepMC3search_EXPORTS
166#define DECLSPEC_StandardSelector __declspec(dllexport)
168#define DECLSPEC_StandardSelector __declspec(dllimport)
171#define NO_DECLSPEC_StandardSelector
178#ifdef NO_DECLSPEC_StandardSelector
Defines AttributeFeature for obtaining Filters to search by Attribute.
Defines Feature interface for selecting Particles according to extracted Features.
Defines Filter operations for combingin Filters.
Expose GenericFeature interface to derived Feature class.
std::function< Feature_type(ConstGenParticlePtr)> Evaluator_type
evaluator type
Forward declaration of SelectorWrapper.
Filter operator==(int value) const override
Operator ==.
Filter operator>(int value) const override
Operator >
ConstSelectorPtr abs() const override
Function abs.
Filter operator<=(int value) const override
Operator <=.
Filter operator!=(int value) const override
Operator !=.
Feature< Feature_type > m_internal
Internal feauture holder.
Filter operator>=(int value) const override
Operator >=.
SelectorWrapper(typename Feature< Feature_type >::Evaluator_type functor)
Constructor.
Filter operator<(int value) const override
Operator <.
Selector is an interface to "standard" Features that are valid for both integral and floating point c...
virtual ~Selector()
Destructor.
virtual ConstSelectorPtr abs() const =0
abs function
virtual Filter operator>(int value) const =0
Operator >
virtual Filter operator<(int value) const =0
Operator <.
virtual Filter operator>=(int value) const =0
Operator >=.
virtual Filter operator!=(int value) const =0
NonEquality.
virtual Filter operator<=(int value) const =0
Operator <=.
static AttributeFeature ATTRIBUTE(const std::string &name)
ATTRIBUTE function.
virtual Filter operator==(int value) const =0
Equality.
static const SelectorWrapper< double > MASS
Mass.
static const SelectorWrapper< double > PT
Transverse momentum.
static const SelectorWrapper< int > PDG_ID
PDG ID.
static const SelectorWrapper< double > PHI
Azimuthal angle.
static const SelectorWrapper< double > ETA
Pseudorapidity.
static const SelectorWrapper< double > ET
Transverse energy.
static const SelectorWrapper< int > STATUS
Status.
static const SelectorWrapper< double > RAPIDITY
Rapidity.
static const SelectorWrapper< double > ENERGY
Energy.
std::function< bool(ConstGenParticlePtr)> Filter
type of Filter
std::shared_ptr< const Selector > ConstSelectorPtr
Declaration of ConstSelectorPtr.
Feature< Feature_type > abs(const Feature< Feature_type > &input)
Obtain the absolute value of a Feature. This works as you'd expect. If foo is a valid Feature,...