Belle II Software  release-08-01-10
BinaryRelationalNode< AVariableManager > Class Template Reference

BooleanNode which has two AbstractExpressionNodes nodes and a ComparisonOperator. More...

#include <CutNodes.h>

Inheritance diagram for BinaryRelationalNode< AVariableManager >:
Collaboration diagram for BinaryRelationalNode< AVariableManager >:

Public Types

typedef AVariableManager::Var Var
 Template argument dependent Variable type definition.
 

Public Member Functions

bool check (const Object *p) const override
 Evaluate the Expression children nodes which yield std::variant values. More...
 
void print () const override
 Print node.
 
std::string decompile () const override
 Decompile Node back to a string. More...
 
 ~BinaryRelationalNode ()
 Destructor.
 

Private Types

typedef AVariableManager::Object Object
 Template argument dependent Particle type definition.
 

Private Member Functions

 BinaryRelationalNode (Nodetuple left_node, Nodetuple right_node, ComparisonOperator coperator)
 Constructor. More...
 

Private Attributes

std::unique_ptr< const AbstractExpressionNode< AVariableManager > > m_left_enode
 subexpression of a cut
 
std::unique_ptr< const AbstractExpressionNode< AVariableManager > > m_right_enode
 subexpression of a cut
 
const ComparisonOperator m_coperator
 comparison operator to be applied to the expression evaluations
 

Friends

class NodeFactory
 

Detailed Description

template<class AVariableManager>
class Belle2::BinaryRelationalNode< AVariableManager >

BooleanNode which has two AbstractExpressionNodes nodes and a ComparisonOperator.

Check() evaluates the children nodes and compares the results with the specified operator.

Definition at line 427 of file CutNodes.h.

Constructor & Destructor Documentation

◆ BinaryRelationalNode()

BinaryRelationalNode ( Nodetuple  left_node,
Nodetuple  right_node,
ComparisonOperator  coperator 
)
inlineexplicitprivate

Constructor.

Parameters
left_node(const boost::python::tuple&): tuple containing an expression node
right_node(const boost::python::tuple&): tuple containing an expression node
coperator(ComparisonOperator): comparison operator enum value

Definition at line 506 of file CutNodes.h.

Member Function Documentation

◆ check()

bool check ( const Object p) const
inlineoverridevirtual

Evaluate the Expression children nodes which yield std::variant values.

variant data types cannot be compared in relational expressions, every data type combination has to be considered.

Parameters
ppointer to the object, that should be checked. returns the boolean result of the relational expression.

Implements AbstractBooleanNode< AVariableManager >.

Definition at line 439 of file CutNodes.h.

◆ decompile()

std::string decompile ( ) const
inlineoverridevirtual

Decompile Node back to a string.

decompile(compile) should give the same result.

Implements AbstractBooleanNode< AVariableManager >.

Definition at line 483 of file CutNodes.h.


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