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

Nodeclass with two AbstractBooleanNode as children and a Boolean Operator (AND, OR) Check() method evaluates the child nodes and returns the result of the boolean operation. More...

#include <CutNodes.h>

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

Public Types

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

Public Member Functions

bool check (const Object *p) const override
 Check if object passes this subexpression of the cut by calling check on the children nodes. More...
 
void print () const override
 Print node.
 
std::string decompile () const override
 Decompile Node back to a string. More...
 
 ~BinaryBooleanNode ()
 Destructor.
 

Private Types

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

Private Member Functions

 BinaryBooleanNode (Nodetuple left_node, Nodetuple right_node, BooleanOperator boperator)
 

Private Attributes

std::unique_ptr< const AbstractBooleanNode< AVariableManager > > m_left_bnode
 boolean subexpression of a cut
 
std::unique_ptr< const AbstractBooleanNode< AVariableManager > > m_right_bnode
 boolean subexpression of a cut
 
const BooleanOperator m_boperator
 Boolean operation to be applied to the check() results of the child nodes.
 

Friends

class NodeFactory
 

Detailed Description

template<class AVariableManager>
class Belle2::BinaryBooleanNode< AVariableManager >

Nodeclass with two AbstractBooleanNode as children and a Boolean Operator (AND, OR) Check() method evaluates the child nodes and returns the result of the boolean operation.

Definition at line 274 of file CutNodes.h.

Constructor & Destructor Documentation

◆ BinaryBooleanNode()

BinaryBooleanNode ( Nodetuple  left_node,
Nodetuple  right_node,
BooleanOperator  boperator 
)
inlineexplicitprivate
Parameters
left_node(const boost::python::tuple&): tuple from which the left boolean child node is constructed
right_node(const boost::python::tuple&): tuple from which the right boolean child node is constructed
boperator(BooleanOperator): determines the boolean operation in check(const Object* p)

Definition at line 336 of file CutNodes.h.

Member Function Documentation

◆ check()

bool check ( const Object p) const
inlineoverridevirtual

Check if object passes this subexpression of the cut by calling check on the children nodes.

Boolean results are evaluated with the BooleanOperator(AND/OR) the node object.

Parameters
ppointer to the object, that should be checked.

Implements AbstractBooleanNode< AVariableManager >.

Definition at line 285 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 315 of file CutNodes.h.


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