HepMC3 event record library: Feature< Feature_type, typename std::enable_if< std::is_floating_point< Feature_type >::value, void >::type > Class Template Reference

HepMC3 event record library

Public Types | Public Member Functions | Protected Attributes
Feature< Feature_type, typename std::enable_if< std::is_floating_point< Feature_type >::value, void >::type > Class Template Reference

## Detailed Description

template<typename Feature_type>
class HepMC3::Feature< Feature_type, typename std::enable_if< std::is_floating_point< Feature_type >::value, void >::type >

specialisation of Feature for floating point type

Test of equality of floating point types is not safe. Here we provide a "reasonable" definition of equality based on the floating point precision.

Definition at line 296 of file Feature.h.

`#include <Feature.h>`

Inheritance diagram for Feature< Feature_type, typename std::enable_if< std::is_floating_point< Feature_type >::value, void >::type >:
[legend]
Collaboration diagram for Feature< Feature_type, typename std::enable_if< std::is_floating_point< Feature_type >::value, void >::type >:
[legend]

## Public Types
using | Evaluator_type
| evaluator type
using | EvaluatorPtr
| shared pointer for evaluator type

## Public Member Functions
| Feature (Evaluator_type functor)
| Feature.
| Feature (const Feature &copy)
| Copy.
| Feature (Feature &&)=default
| Move constructor.
Feature & | operator= (const Feature &)=default
| =
Feature & | operator= (Feature &&)=default
| =
Feature< Feature_type > | abs () const
| abs function
Filter | operator== (Feature_type value) const override
| equality operator
Filter | operator!= (Feature_type value) const override
| inequality operator
Feature_type | operator() (ConstGenParticlePtr input) const
| access the underlying feature value
Filter | operator> (Feature_type value) const
| greater than operator
Filter | operator< (Feature_type value) const
| less than operator
Filter | operator>= (Feature_type value) const
| greater than or equals operator
Filter | operator<= (Feature_type value) const
| less than or equals operator
virtual Filter | operator== (Feature_type value) const
| equality operator
virtual Filter | operator!= (Feature_type value) const
| inequality operator

## Protected Attributes
EvaluatorPtr | m_internal
| internal copy of func for evaluation on the heap so will persist in resulting Filters even if parent Feature object was destroyed

## Member Typedef Documentation

## ◆ Evaluator_type

using Evaluator_type

evaluator type

Definition at line 62 of file Feature.h.

## ◆ EvaluatorPtr

using EvaluatorPtr

shared pointer for evaluator type

Definition at line 64 of file Feature.h.

## Constructor & Destructor Documentation

## ◆ Feature() [1/3]

template<typename Feature_type>

Feature | ( | Evaluator_type | functor | ) |
| inline

Feature.

Definition at line 310 of file Feature.h.

References GenericFeature< Feature_type >::GenericFeature().

## ◆ Feature() [2/3]

template<typename Feature_type>

Feature | ( | const Feature< Feature_type, typename std::enable_if< std::is_floating_point< Feature_type >::value, void >::type > & | copy | ) |
| inline

Copy.

Definition at line 312 of file Feature.h.

References Feature(), and GenericFeature< Feature_type >::GenericFeature().

## ◆ Feature() [3/3]

template<typename Feature_type>

Feature | ( | Feature< Feature_type, typename std::enable_if< std::is_floating_point< Feature_type >::value, void >::type > && |  | ) |
| default

Move constructor.

References Feature().

## Member Function Documentation

## ◆ abs()

template<typename Feature_type>

Feature< Feature_type > abs | ( |  | ) | const
| inline

abs function

Definition at line 323 of file Feature.h.

References Feature< Feature_type, Dummy >::Feature(), Feature(), and m_internal.

## ◆ operator!=() [1/2]

virtual Filter operator!= | ( | Feature_type | value | ) | const
| inlinevirtual

inequality operator

Returns
  Filter function

Definition at line 107 of file Feature.h.

## ◆ operator!=() [2/2]

template<typename Feature_type>

Filter operator!= | ( | Feature_type | value | ) | const
| inlineoverridevirtual

inequality operator

Returns
  Filter function

Reimplemented from GenericFeature< Feature_type >.

Definition at line 337 of file Feature.h.

## ◆ operator()()

Feature_type operator() | ( | ConstGenParticlePtr | input | ) | const
| inline

access the underlying feature value

Definition at line 67 of file Feature.h.

## ◆ operator<()

Filter operator< | ( | Feature_type | value | ) | const
| inline

less than operator

Returns
  Filter function

Definition at line 79 of file Feature.h.

## ◆ operator<=()

Filter operator<= | ( | Feature_type | value | ) | const
| inline

less than or equals operator

Returns
  Filter function

Definition at line 93 of file Feature.h.

## ◆ operator=() [1/2]

template<typename Feature_type>

Feature & operator= | ( | const Feature< Feature_type, typename std::enable_if< std::is_floating_point< Feature_type >::value, void >::type > & |  | ) |
| default

=

References Feature().

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

template<typename Feature_type>

Feature & operator= | ( | Feature< Feature_type, typename std::enable_if< std::is_floating_point< Feature_type >::value, void >::type > && |  | ) |
| default

=

References Feature().

## ◆ operator==() [1/2]

virtual Filter operator== | ( | Feature_type | value | ) | const
| inlinevirtual

equality operator

Returns
  Filter function

Definition at line 100 of file Feature.h.

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

template<typename Feature_type>

Filter operator== | ( | Feature_type | value | ) | const
| inlineoverridevirtual

equality operator

Returns
  Filter function

Reimplemented from GenericFeature< Feature_type >.

Definition at line 329 of file Feature.h.

References m_internal.

## ◆ operator>()

Filter operator> | ( | Feature_type | value | ) | const
| inline

greater than operator

Returns
  Filter function

Definition at line 73 of file Feature.h.

## ◆ operator>=()

Filter operator>= | ( | Feature_type | value | ) | const
| inline

greater than or equals operator

Returns
  Filter function

Definition at line 86 of file Feature.h.

## Field Documentation

## ◆ m_internal

EvaluatorPtr m_internal
| protected

internal copy of func for evaluation on the heap so will persist in resulting Filters even if parent Feature object was destroyed

Definition at line 130 of file Feature.h.

The documentation for this class was generated from the following file:

- Feature.h