Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
core::simple_metrics::metrics::CalculatorMetric Class Reference

A metric which can combine other metrics. More...

#include <CalculatorMetric.hh>

Inheritance diagram for core::simple_metrics::metrics::CalculatorMetric:
Inheritance graph
[legend]

Public Member Functions

 CalculatorMetric ()
 Constructors ///. More...
 
 CalculatorMetric (std::string const &equation)
 Initialize with equation. More...
 
void add_simple_metric (std::string const &name, core::simple_metrics::SimpleMetricCOP metric)
 For the particular variable name in the equation, use the passed metric. The passed metric must be a RealMetric, else you'll get an error message. More...
 
void add_reported_value (std::string const &name, std::string const &report_key)
 For the variable name in the equation, look up the report_key scoreterm stored in the Pose. More...
 
void add_constant (std::string const &name, core::Real value)
 For the varible name in the equation, use the passed constant value. More...
 
bool check_equation ()
 Do a quick check to make sure the equation parsing worked out. Returns true on success, false on failure. More...
 
core::Real calculate (core::pose::Pose const &pose) const override
 Metric Methods ///. More...
 
std::string name () const override
 Name of the class. More...
 
std::string metric () const override
 Name of the metric. More...
 
bool simple_metric_is_unpublished () const override
 This simple metric is unpublished (returns true). More...
 
utility::vector1
< basic::citation_manager::UnpublishedModuleInfoCOP > 
provide_authorship_info_for_unpublished () const override
 This simple metric is unpublished. More...
 
void parse_my_tag (utility::tag::TagCOP tag, basic::datacache::DataMap &data) override
 called by parse_my_tag – should not be used directly More...
 
core::simple_metrics::SimpleMetricOP clone () const override
 
- Public Member Functions inherited from core::simple_metrics::RealMetric
 RealMetric ()
 
 ~RealMetric () override
 
 RealMetric (RealMetric const &other)
 
void apply (pose::Pose &pose, std::string prefix="", std::string suffix="", bool override_existing_data=false) const override
 Calculate the metric and add it to the pose as a score. labeled as prefix+metric+suffix. More...
 
core::Real cached_calculate (pose::Pose const &pose, bool use_cache, std::string prefix="", std::string suffix="", bool fail_on_missing_cache=true) const
 Grab the data from the pose if it exists or calculate the metric. More...
 
utility::vector1< std::string > get_metric_names () const override
 Get the metric name(s) that this Metric will calculate. More...
 
- Public Member Functions inherited from core::simple_metrics::SimpleMetric
 SimpleMetric (std::string const &simple_metric_type)
 
 ~SimpleMetric () override
 
 SimpleMetric (SimpleMetric const &other)
 
void set_custom_type (std::string const &custom_type)
 
std::string get_custom_type () const
 Additional setting to prefix/suffix. More...
 
virtual void parse_base_tag (utility::tag::TagCOP tag)
 Parse the base class tag. Keep required interface for parse_my_tag. More...
 
std::string simple_metric_type () const
 
std::string get_final_sm_type () const
 Get the final name of this metric including its simple_metric_type_ name and any set custom type. More...
 
virtual bool simple_metric_provides_citation_info () const
 Does this simple metric provide information about how to cite it? More...
 
virtual utility::vector1
< basic::citation_manager::CitationCollectionCOP > 
provide_citation_info () const
 Provide the citation. More...
 

Static Public Member Functions

static std::string name_static ()
 Name of the class for creator. More...
 
static void provide_xml_schema (utility::tag::XMLSchemaDefinition &xsd)
 
- Static Public Member Functions inherited from core::simple_metrics::SimpleMetric
static
utility::tag::XMLSchemaComplexTypeGeneratorOP 
complex_type_generator_for_simple_metric (utility::tag::XMLSchemaDefinition &)
 

Private Attributes

numeric::CalculatorOP calc_
 
std::map< std::string, core::Realvalues_
 
std::map< std::string,
core::simple_metrics::RealMetricCOP
metrics_
 
std::map< std::string,
std::string > 
reported_values_
 

Detailed Description

A metric which can combine other metrics.

Constructor & Destructor Documentation

core::simple_metrics::metrics::CalculatorMetric::CalculatorMetric ( )

Constructors ///.

Default constructor

core::simple_metrics::metrics::CalculatorMetric::CalculatorMetric ( std::string const &  equation)

Initialize with equation.

Member Function Documentation

void core::simple_metrics::metrics::CalculatorMetric::add_constant ( std::string const &  name,
core::Real  value 
)

For the varible name in the equation, use the passed constant value.

References name(), and values_.

Referenced by parse_my_tag().

void core::simple_metrics::metrics::CalculatorMetric::add_reported_value ( std::string const &  name,
std::string const &  report_key 
)

For the variable name in the equation, look up the report_key scoreterm stored in the Pose.

References name(), and reported_values_.

Referenced by parse_my_tag().

void core::simple_metrics::metrics::CalculatorMetric::add_simple_metric ( std::string const &  name,
core::simple_metrics::SimpleMetricCOP  metric 
)

For the particular variable name in the equation, use the passed metric. The passed metric must be a RealMetric, else you'll get an error message.

References metric(), metrics_, and name().

Referenced by parse_my_tag().

core::Real core::simple_metrics::metrics::CalculatorMetric::calculate ( core::pose::Pose const &  pose) const
overridevirtual

Metric Methods ///.

Defined in RealMetric:

Calculate the metric and add it to the pose as a score. labeled as prefix+metric+suffix.

Score is added through setExtraScorePose and is output into the score tables/file at pose output. Calculate the metric.

Implements core::simple_metrics::RealMetric.

References calc_, core::pose::getPoseExtraScore(), metric(), metrics_, reported_values_, TR(), and values_.

bool core::simple_metrics::metrics::CalculatorMetric::check_equation ( )

Do a quick check to make sure the equation parsing worked out. Returns true on success, false on failure.

References calc_, metric(), metrics_, reported_values_, and values_.

Referenced by parse_my_tag().

core::simple_metrics::SimpleMetricOP core::simple_metrics::metrics::CalculatorMetric::clone ( ) const
overridevirtual
std::string core::simple_metrics::metrics::CalculatorMetric::metric ( ) const
overridevirtual

Name of the metric.

Implements core::simple_metrics::RealMetric.

Referenced by add_simple_metric(), calculate(), and check_equation().

std::string core::simple_metrics::metrics::CalculatorMetric::name ( ) const
overridevirtual

Name of the class.

Implements core::simple_metrics::RealMetric.

References name_static().

Referenced by add_constant(), add_reported_value(), and add_simple_metric().

std::string core::simple_metrics::metrics::CalculatorMetric::name_static ( )
static
void core::simple_metrics::metrics::CalculatorMetric::parse_my_tag ( utility::tag::TagCOP  tag,
basic::datacache::DataMap &  data 
)
overridevirtual
utility::vector1< basic::citation_manager::UnpublishedModuleInfoCOP > core::simple_metrics::metrics::CalculatorMetric::provide_authorship_info_for_unpublished ( ) const
overridevirtual

This simple metric is unpublished.

Reimplemented from core::simple_metrics::SimpleMetric.

void core::simple_metrics::metrics::CalculatorMetric::provide_xml_schema ( utility::tag::XMLSchemaDefinition &  xsd)
static
bool core::simple_metrics::metrics::CalculatorMetric::simple_metric_is_unpublished ( ) const
overridevirtual

This simple metric is unpublished (returns true).

Reimplemented from core::simple_metrics::SimpleMetric.

Member Data Documentation

numeric::CalculatorOP core::simple_metrics::metrics::CalculatorMetric::calc_
private
std::map<std::string, core::simple_metrics::RealMetricCOP> core::simple_metrics::metrics::CalculatorMetric::metrics_
private
std::map<std::string, std::string> core::simple_metrics::metrics::CalculatorMetric::reported_values_
private
std::map<std::string, core::Real> core::simple_metrics::metrics::CalculatorMetric::values_
private

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