10#ifndef HEPMC3_SELECTOR_H
11#define HEPMC3_SELECTOR_H
61 virtual Filter operator > (
int value)
const = 0;
62 virtual Filter operator > (
double value)
const = 0;
64 virtual Filter operator >= (
int value)
const = 0;
65 virtual Filter operator >= (
double value)
const = 0;
67 virtual Filter operator < (
int value)
const = 0;
68 virtual Filter operator < (
double value)
const = 0;
70 virtual Filter operator <= (
int value)
const = 0;
71 virtual Filter operator <= (
double value)
const = 0;
84template<
typename Feature_type>
91 Filter operator > (
int value)
const override {
95 Filter operator > (
double value)
const override {
99 Filter operator >= (
int value)
const override {
103 Filter operator >= (
double value)
const override {
107 Filter operator < (
int value)
const override {
111 Filter operator < (
double value)
const override {
115 Filter operator <= (
int value)
const override {
119 Filter operator <= (
double value)
const override {
153#ifndef NO_DECLSPEC_StandardSelector
155#ifdef HepMC3search_EXPORTS
156#define DECLSPEC_StandardSelector __declspec(dllexport)
158#define DECLSPEC_StandardSelector __declspec(dllimport)
161#define NO_DECLSPEC_StandardSelector
169#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.
Filter for the attributes.
Expose GenericFeature interface to derived Feature class.
Forward declaration of SelectorWrapper.
Filter operator==(int value) const override
Equality.
Filter operator!=(int value) const override
NonEquality.
Feature< Feature_type > m_internal
Internal feauture holder.
Selector is an interface to "standard" Features that are valid for both integral and floating point c...
virtual ~Selector()
Destructor.
virtual Filter operator!=(int value) const =0
NonEquality.
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,...