Rosetta
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
protocols::pack_daemon::EntityFunc Class Reference

#include <DynamicAggregateFunction.hh>

Inheritance diagram for protocols::pack_daemon::EntityFunc:
Inheritance graph
[legend]

Public Types

typedef utility::VirtualBase parent
 
typedef protocols::genetic_algorithm::Entity Entity
 
typedef numeric::expression_parser::Expression Expression
 
typedef numeric::expression_parser::ExpressionOP ExpressionOP
 
typedef numeric::expression_parser::ExpressionCOP ExpressionCOP
 
typedef numeric::expression_parser::VariableExpression VariableExpression
 
typedef numeric::expression_parser::VariableExpressionOP VariableExpressionOP
 
typedef numeric::expression_parser::VariableExpressionCOP VariableExpressionCOP
 
typedef numeric::expression_parser::ArithmeticASTExpressionOP ArithmeticASTExpressionOP
 
typedef core::Size Size
 

Public Member Functions

 EntityFunc ()
 
 ~EntityFunc () override
 
void set_num_entity_elements (core::Size num_ee)
 
void initialize_from_input_file (std::istream &input)
 
core::Real evaluate (Entity const &entity, bool verbose=false)
 
ExpressionCOP variable_expression (numeric::expression_parser::ArithmeticASTValue const &) const
 
ExpressionCOP function_expression (numeric::expression_parser::FunctionTokenCOP function, utility::vector1< ExpressionCOP > const &args) const
 

Private Member Functions

void initialize_scanner_and_function_names ()
 
void process_AA_SET_line (std::string const &line, core::Size line_number, std::istream &input_line)
 
void process_SET_CONDITION_line (std::string const &line, core::Size line_number, std::istream &input_line)
 
void process_SUB_EXPRESSION_line (std::string const &line, core::Size line_number, std::istream &input_line, std::map< std::string, ArithmeticASTExpressionOP > &expression_asts)
 
void process_SCORE_line (std::string const &line, core::Size line_number, std::istream &input_line, ArithmeticASTExpressionOP &score_expression_ast)
 
void turn_expression_ASTs_into_expressions (std::map< std::string, ArithmeticASTExpressionOP > const &expression_asts, ArithmeticASTExpressionOP score_expression_ast)
 
void assign_entity_sequence_to_variables (Entity const &entity)
 

Private Attributes

core::Size num_entity_elements_
 
utility::vector1< VariableExpressionOPentity_aas_
 
std::map< std::string, utility::vector1< core::Real > > aa_sets_name_map_
 
std::map< std::string, core::Sizeaa_sets_dec_line_
 
std::map< std::string, ExpressionCOPsubexpression_name_map_
 
std::map< std::string, core::Sizesubexpression_name_dec_line_
 
std::map< std::string, VariableExpressionOPvariable_expression_map_
 
utility::vector1< std::pair< ExpressionCOP, SurrogateVariableExpressionOP > > expression_evaluation_order_
 
ExpressionCOP score_expression_
 
numeric::expression_parser::ArithmeticScannerOP scanner_
 
std::set< std::string > function_names_
 Function names may not be used as variable names. More...
 
std::set< std::string > illegal_variable_names_
 

Member Typedef Documentation

◆ ArithmeticASTExpressionOP

typedef numeric::expression_parser::ArithmeticASTExpressionOP protocols::pack_daemon::EntityFunc::ArithmeticASTExpressionOP

◆ Entity

◆ Expression

◆ ExpressionCOP

typedef numeric::expression_parser::ExpressionCOP protocols::pack_daemon::EntityFunc::ExpressionCOP

◆ ExpressionOP

typedef numeric::expression_parser::ExpressionOP protocols::pack_daemon::EntityFunc::ExpressionOP

◆ parent

typedef utility::VirtualBase protocols::pack_daemon::EntityFunc::parent

◆ Size

◆ VariableExpression

◆ VariableExpressionCOP

typedef numeric::expression_parser::VariableExpressionCOP protocols::pack_daemon::EntityFunc::VariableExpressionCOP

◆ VariableExpressionOP

typedef numeric::expression_parser::VariableExpressionOP protocols::pack_daemon::EntityFunc::VariableExpressionOP

Constructor & Destructor Documentation

◆ EntityFunc()

protocols::pack_daemon::EntityFunc::EntityFunc ( )

◆ ~EntityFunc()

protocols::pack_daemon::EntityFunc::~EntityFunc ( )
overridedefault

Member Function Documentation

◆ assign_entity_sequence_to_variables()

void protocols::pack_daemon::EntityFunc::assign_entity_sequence_to_variables ( Entity const &  entity)
private

◆ evaluate()

core::Real protocols::pack_daemon::EntityFunc::evaluate ( Entity const &  entity,
bool  verbose = false 
)

◆ function_expression()

ExpressionCOP protocols::pack_daemon::EntityFunc::function_expression ( numeric::expression_parser::FunctionTokenCOP  function,
utility::vector1< ExpressionCOP > const &  args 
) const

◆ initialize_from_input_file()

void protocols::pack_daemon::EntityFunc::initialize_from_input_file ( std::istream &  input)

◆ initialize_scanner_and_function_names()

void protocols::pack_daemon::EntityFunc::initialize_scanner_and_function_names ( )
private

◆ process_AA_SET_line()

void protocols::pack_daemon::EntityFunc::process_AA_SET_line ( std::string const &  line,
core::Size  line_number,
std::istream &  input_line 
)
private

◆ process_SCORE_line()

void protocols::pack_daemon::EntityFunc::process_SCORE_line ( std::string const &  line,
core::Size  line_number,
std::istream &  input_line,
ArithmeticASTExpressionOP score_expression_ast 
)
private

◆ process_SET_CONDITION_line()

void protocols::pack_daemon::EntityFunc::process_SET_CONDITION_line ( std::string const &  line,
core::Size  line_number,
std::istream &  input_line 
)
private

◆ process_SUB_EXPRESSION_line()

void protocols::pack_daemon::EntityFunc::process_SUB_EXPRESSION_line ( std::string const &  line,
core::Size  line_number,
std::istream &  input_line,
std::map< std::string, ArithmeticASTExpressionOP > &  expression_asts 
)
private

◆ set_num_entity_elements()

void protocols::pack_daemon::EntityFunc::set_num_entity_elements ( core::Size  num_ee)

References num_entity_elements_.

◆ turn_expression_ASTs_into_expressions()

void protocols::pack_daemon::EntityFunc::turn_expression_ASTs_into_expressions ( std::map< std::string, ArithmeticASTExpressionOP > const &  expression_asts,
ArithmeticASTExpressionOP  score_expression_ast 
)
private

◆ variable_expression()

ExpressionCOP protocols::pack_daemon::EntityFunc::variable_expression ( numeric::expression_parser::ArithmeticASTValue const &  ) const

Member Data Documentation

◆ aa_sets_dec_line_

std::map< std::string, core::Size > protocols::pack_daemon::EntityFunc::aa_sets_dec_line_
private

◆ aa_sets_name_map_

std::map< std::string, utility::vector1< core::Real > > protocols::pack_daemon::EntityFunc::aa_sets_name_map_
private

◆ entity_aas_

utility::vector1< VariableExpressionOP > protocols::pack_daemon::EntityFunc::entity_aas_
private

◆ expression_evaluation_order_

utility::vector1< std::pair< ExpressionCOP, SurrogateVariableExpressionOP > > protocols::pack_daemon::EntityFunc::expression_evaluation_order_
private

Evaluate the subexpressions and then store them in the surrogate variable expressions in order.

Referenced by evaluate(), process_SET_CONDITION_line(), process_SUB_EXPRESSION_line(), and turn_expression_ASTs_into_expressions().

◆ function_names_

std::set< std::string > protocols::pack_daemon::EntityFunc::function_names_
private

◆ illegal_variable_names_

std::set< std::string > protocols::pack_daemon::EntityFunc::illegal_variable_names_
private

This set represents strings that may not be used as variable names but which are not funciton names

Referenced by initialize_scanner_and_function_names(), process_AA_SET_line(), process_SET_CONDITION_line(), and process_SUB_EXPRESSION_line().

◆ num_entity_elements_

core::Size protocols::pack_daemon::EntityFunc::num_entity_elements_
private

◆ scanner_

numeric::expression_parser::ArithmeticScannerOP protocols::pack_daemon::EntityFunc::scanner_
private

◆ score_expression_

ExpressionCOP protocols::pack_daemon::EntityFunc::score_expression_
private

◆ subexpression_name_dec_line_

std::map< std::string, core::Size > protocols::pack_daemon::EntityFunc::subexpression_name_dec_line_
private

◆ subexpression_name_map_

std::map< std::string, ExpressionCOP > protocols::pack_daemon::EntityFunc::subexpression_name_map_
private

◆ variable_expression_map_

std::map< std::string, VariableExpressionOP > protocols::pack_daemon::EntityFunc::variable_expression_map_
private

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