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

specialisation of Feature for floating point type More...

#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 = std::function< Feature_type(ConstGenParticlePtr)>
 
using EvaluatorPtr = std::shared_ptr< Evaluator_type >
 

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 More...
 
Filter operator!= (Feature_type value) const override
 inequality operator More...
 
Feature_type operator() (ConstGenParticlePtr input) const
 access the underlying feature value More...
 
Filter operator> (Feature_type value) const
 greater than operator More...
 
Filter operator< (Feature_type value) const
 less than operator More...
 
Filter operator>= (Feature_type value) const
 greater than or equals operator More...
 
Filter operator<= (Feature_type value) const
 less than or equals operator More...
 

Protected Attributes

EvaluatorPtr m_internal
 

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.

Member Function Documentation

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.

Feature_type operator() ( ConstGenParticlePtr  input) const
inlineinherited

access the underlying feature value

Definition at line 64 of file Feature.h.

Filter operator< ( Feature_type  value) const
inlineinherited

less than operator

Returns
Filter function

Definition at line 76 of file Feature.h.

Filter operator<= ( Feature_type  value) const
inlineinherited

less than or equals operator

Returns
Filter function

Definition at line 90 of file Feature.h.

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.

Filter operator> ( Feature_type  value) const
inlineinherited

greater than operator

Returns
Filter function

Definition at line 70 of file Feature.h.

Filter operator>= ( Feature_type  value) const
inlineinherited

greater than or equals operator

Returns
Filter function

Definition at line 83 of file Feature.h.


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