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 275 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 = std::function< Feature_type(ConstGenParticlePtr)>
 evaluator type
 
using EvaluatorPtr = std::shared_ptr< Evaluator_type >
 shared pointer for evaluator type
 

Public Member Functions

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

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 = std::function<Feature_type(ConstGenParticlePtr)>
inherited

evaluator type

Definition at line 62 of file Feature.h.

◆ EvaluatorPtr

using EvaluatorPtr = std::shared_ptr<Evaluator_type>
inherited

shared pointer for evaluator type

Definition at line 64 of file Feature.h.

Constructor & Destructor Documentation

◆ Feature() [1/2]

Feature ( Evaluator_type  functor)
inline

Feature.

Definition at line 289 of file Feature.h.

◆ Feature() [2/2]

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

Copy.

Definition at line 291 of file Feature.h.

Member Function Documentation

◆ abs()

Feature< Feature_type > abs ( ) const
inline

abs function

Definition at line 294 of file Feature.h.

References GenericFeature< Feature_type >::m_internal.

◆ operator!=()

Filter operator!= ( Feature_type  value) const
inlineoverridevirtual

inequality operator

Returns
Filter function

Reimplemented from GenericFeature< Feature_type >.

Definition at line 308 of file Feature.h.

◆ operator()()

Feature_type operator() ( ConstGenParticlePtr  input) const
inlineinherited

access the underlying feature value

Definition at line 67 of file Feature.h.

References GenericFeature< Feature_type >::m_internal.

◆ operator<()

Filter operator< ( Feature_type  value) const
inlineinherited

less than operator

Returns
Filter function

Definition at line 79 of file Feature.h.

References GenericFeature< Feature_type >::m_internal.

◆ operator<=()

Filter operator<= ( Feature_type  value) const
inlineinherited

less than or equals operator

Returns
Filter function

Definition at line 93 of file Feature.h.

References GenericFeature< Feature_type >::m_internal.

◆ operator==()

Filter operator== ( Feature_type  value) const
inlineoverridevirtual

equality operator

Returns
Filter function

Reimplemented from GenericFeature< Feature_type >.

Definition at line 300 of file Feature.h.

References GenericFeature< Feature_type >::m_internal.

◆ operator>()

Filter operator> ( Feature_type  value) const
inlineinherited

greater than operator

Returns
Filter function

Definition at line 73 of file Feature.h.

References GenericFeature< Feature_type >::m_internal.

◆ operator>=()

Filter operator>= ( Feature_type  value) const
inlineinherited

greater than or equals operator

Returns
Filter function

Definition at line 86 of file Feature.h.

References GenericFeature< Feature_type >::m_internal.

Field Documentation

◆ m_internal

EvaluatorPtr m_internal
protectedinherited

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 122 of file Feature.h.


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