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

BinaryExpressionNode Node which connects two expression nodes with an arithemtic operation. More...

#include <CutNodes.h>

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

Public Types

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

Public Member Functions

AVariableManager::VarVariant evaluate (const Object *p) const override
 Evaluation of the child nodes and return result as a variant<double, int, bool> apply arithmetic operation to the evaluations. More...
 
void print () const override
 Print node.
 
std::string decompile () const override
 Decompile Node back to a string. More...
 
 ~BinaryExpressionNode ()
 Destructor.
 

Private Types

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

Private Member Functions

 BinaryExpressionNode (Nodetuple left_node, Nodetuple right_node, ArithmeticOperation aoperation)
 Constructor. More...
 

Private Attributes

std::unique_ptr< const AbstractExpressionNode< AVariableManager > > m_left_enode
 left expression node
 
std::unique_ptr< const AbstractExpressionNode< AVariableManager > > m_right_enode
 right expression node
 
ArithmeticOperation m_aoperation
 arithmetic operation to be applied to the evaluations of left and right expressions
 

Friends

class NodeFactory
 

Detailed Description

template<class AVariableManager>
class Belle2::BinaryExpressionNode< AVariableManager >

BinaryExpressionNode Node which connects two expression nodes with an arithemtic operation.

Definition at line 726 of file CutNodes.h.

Constructor & Destructor Documentation

◆ BinaryExpressionNode()

BinaryExpressionNode ( Nodetuple  left_node,
Nodetuple  right_node,
ArithmeticOperation  aoperation 
)
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
aoperation(ArithmeticOperator): arithmetic operator enum value

Definition at line 872 of file CutNodes.h.

Member Function Documentation

◆ decompile()

std::string decompile ( ) const
inlineoverridevirtual

Decompile Node back to a string.

decompile(compile) should give the same result.

Implements AbstractExpressionNode< AVariableManager >.

Definition at line 850 of file CutNodes.h.

◆ evaluate()

AVariableManager::VarVariant evaluate ( const Object p) const
inlineoverridevirtual

Evaluation of the child nodes and return result as a variant<double, int, bool> apply arithmetic operation to the evaluations.

Parameters
ppointer to the object, that should be checked.

Implements AbstractExpressionNode< AVariableManager >.

Definition at line 737 of file CutNodes.h.


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