Belle II Software
release-08-01-10
|
BooleanNode which has three AbstractExpressionNodes nodes and two ComparisonOperator. More...
#include <CutNodes.h>
Public Types | |
typedef AVariableManager::Var | Var |
Template argument dependent Variable type definition. | |
Public Member Functions | |
bool | check (const Object *p) const override |
void | print () const override |
Print node. | |
std::string | decompile () const override |
Decompile Node back to a string. More... | |
~TernaryRelationalNode () | |
Destructor. | |
Private Types | |
typedef AbstractBooleanNode< AVariableManager >::Object | Object |
Template argument dependent Particle type definition. | |
Private Member Functions | |
TernaryRelationalNode (Nodetuple left_node, Nodetuple center_node, Nodetuple right_node, ComparisonOperator lc_coperator, ComparisonOperator cr_coperator) | |
Constructor. More... | |
Private Attributes | |
std::unique_ptr< const AbstractExpressionNode< AVariableManager > > | m_left_enode |
left expression of the ternary relational expression | |
std::unique_ptr< const AbstractExpressionNode< AVariableManager > > | m_center_enode |
center expression of the ternary relational expression | |
std::unique_ptr< const AbstractExpressionNode< AVariableManager > > | m_right_enode |
right expression of the ternary relational expression | |
const ComparisonOperator | m_lc_coperator |
comparison operator to be applied to the evaluations of the left and center expression | |
const ComparisonOperator | m_cr_coperator |
comparison operator to be applied to the evaluations of the center and right expressions | |
Friends | |
class | NodeFactory |
BooleanNode which has three AbstractExpressionNodes nodes and two ComparisonOperator.
This allows Ranges in the Cutstring e.g 2.0 < var < 4.3 Check() evaluates the children nodes and compares both sides with the specified operator.
Definition at line 523 of file CutNodes.h.
|
inlineexplicitprivate |
Constructor.
left_node | (const boost::python::tuple&): tuple containing an expression node |
center_node | (const boost::python::tuple&): tuple containing an expression node |
right_node | (const boost::python::tuple&): tuple containing an expression node |
lc_coperator | (ComparisonOperator): comparison operator enum value specifying the comparison between left and center expression |
cr_coperator | (ComparisonOperator): comparison operator enum value specifiying the comparison between center and right expression |
Definition at line 628 of file CutNodes.h.
|
inlineoverridevirtual |
p | pointer to the object, that should be checked. Checking is done sequentially. At first the left-center condition is checked. If it evaluates to false we can directly return false. If it true we have to check to center-right condition. |
Implements AbstractBooleanNode< AVariableManager >.
Definition at line 535 of file CutNodes.h.
|
inlineoverridevirtual |
Decompile Node back to a string.
decompile(compile) should give the same result.
Implements AbstractBooleanNode< AVariableManager >.
Definition at line 603 of file CutNodes.h.