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;
84 template<
typename Feature_type>
85 class SelectorWrapper :
public Selector {
89 SelectorWrapper(
typename Feature<Feature_type>::Evaluator_type functor):
m_internal(functor) {}
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
static const SelectorWrapper< double > MASS
Mass.
static const SelectorWrapper< double > ET
Transverse energy.
static const SelectorWrapper< double > PT
Transverse momentum.
static const SelectorWrapper< int > PDG_ID
PDG ID.
static const SelectorWrapper< double > RAPIDITY
Rapidity.
Defines Filter operations for combingin Filters.
Defines Feature interface for selecting Particles according to extracted Features.
Feature< Feature_type > m_internal
Internal feauture holder.
virtual Filter operator!=(int value) const =0
NonEquality.
Filter for the attributes.
Filter operator==(int value) const override
Equality.
std::shared_ptr< const Selector > ConstSelectorPtr
Declaration of ConstSelectorPtr.
static const SelectorWrapper< double > ETA
Pseudorapidity.
Filter operator!=(int value) const override
NonEquality.
std::function< bool(ConstGenParticlePtr)> Filter
type of Filter
static const SelectorWrapper< double > PHI
Azimuthal angle.
Forward declaration of SelectorWrapper.
Annotation for function names.
Selector is an interface to "standard" Features that are valid for both integral and floating point c...
virtual Filter operator==(int value) const =0
Equality.
virtual ~Selector()
Destructor.
static const SelectorWrapper< int > STATUS
Status.
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...
static const SelectorWrapper< double > ENERGY
Energy.
Defines AttributeFeature for obtaining Filters to search by Attribute.