HepMC3 event record library
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 268 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 >:
Collaboration diagram for Feature< Feature_type, typename std::enable_if< std::is_floating_point< Feature_type >::value, void >::type >:

Public Types

using Evaluator_type
using EvaluatorPtr

Public Member Functions

 Feature (Evaluator_type functor)
 Feature (const Feature &copy)
Feature< Feature_type > abs () const
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

Member Typedef Documentation

◆ Evaluator_type

using Evaluator_type

Definition at line 60 of file Feature.h.

◆ EvaluatorPtr

using EvaluatorPtr

Definition at line 61 of file Feature.h.

Constructor & Destructor Documentation

◆ Feature() [1/2]

template<typename Feature_type>
Feature ( Evaluator_type functor)
inline

Definition at line 283 of file Feature.h.

◆ Feature() [2/2]

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

Definition at line 284 of file Feature.h.

Member Function Documentation

◆ abs()

template<typename Feature_type>
Feature< Feature_type > abs ( ) const
inline

Definition at line 286 of file Feature.h.

◆ operator!=() [1/2]

virtual Filter operator!= ( Feature_type value) const
inlinevirtual

inequality operator

Returns
Filter function

Definition at line 104 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 300 of file Feature.h.

◆ operator()()

Feature_type operator() ( ConstGenParticlePtr input) const
inline

access the underlying feature value

Definition at line 64 of file Feature.h.

◆ operator<()

Filter operator< ( Feature_type value) const
inline

less than operator

Returns
Filter function

Definition at line 76 of file Feature.h.

◆ operator<=()

Filter operator<= ( Feature_type value) const
inline

less than or equals operator

Returns
Filter function

Definition at line 90 of file Feature.h.

◆ operator==() [1/2]

virtual Filter operator== ( Feature_type value) const
inlinevirtual

equality operator

Returns
Filter function

Definition at line 97 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 292 of file Feature.h.

◆ operator>()

Filter operator> ( Feature_type value) const
inline

greater than operator

Returns
Filter function

Definition at line 70 of file Feature.h.

◆ operator>=()

Filter operator>= ( Feature_type value) const
inline

greater than or equals operator

Returns
Filter function

Definition at line 83 of file Feature.h.

Field Documentation

◆ m_internal

EvaluatorPtr m_internal
protected

Definition at line 120 of file Feature.h.


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