Rosetta
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...
 
void provide_citation_info (basic::citation_manager::CitationCollectionList &) const override
 Provide the citation. 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)
 
RealMetricoperator= (RealMetric const &)
 
void apply (std::string const &out_label, pose::Pose &pose, bool override_existing_data=false) const override
 Calculate the metric and add it to the pose as a score. labeled as out_label. 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...
 
virtual void apply (std::string const &out_label, pose::Pose &pose, bool override_existing_data=false) const=0
 Calculate the metric and add it to the Score, which is output into a scorefile - labeled as label Must be implemented by derived classes. More...
 
void apply (pose::Pose &pose, std::string const &prefix="", std::string const &suffix="", bool override_existing_data=false) const
 Calculate the metric and add it to the Score, which is output into a scorefile - labeled as prefix+metric+suffix. More...
 
- Public Member Functions inherited from core::simple_metrics::SimpleMetric
 SimpleMetric (std::string const &simple_metric_type)
 
 ~SimpleMetric () override
 
 SimpleMetric (SimpleMetric const &other)
 
SimpleMetricoperator= (SimpleMetric const &)
 
void apply (pose::Pose &pose, std::string const &prefix="", std::string const &suffix="", bool override_existing_data=false) const
 Calculate the metric and add it to the Score, which is output into a scorefile - labeled as prefix+metric+suffix. More...
 
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...
 

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::RealMetricCOPmetrics_
 
std::map< std::string, std::string > reported_values_
 

Detailed Description

A metric which can combine other metrics.

Constructor & Destructor Documentation

◆ CalculatorMetric() [1/2]

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

Constructors ///.

Default constructor

◆ CalculatorMetric() [2/2]

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

Initialize with equation.

Member Function Documentation

◆ add_constant()

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().

◆ add_reported_value()

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().

◆ add_simple_metric()

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().

◆ calculate()

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_.

◆ check_equation()

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().

◆ clone()

core::simple_metrics::SimpleMetricOP core::simple_metrics::metrics::CalculatorMetric::clone ( ) const
overridevirtual

◆ metric()

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().

◆ name()

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

◆ name_static()

std::string core::simple_metrics::metrics::CalculatorMetric::name_static ( )
static

◆ parse_my_tag()

void core::simple_metrics::metrics::CalculatorMetric::parse_my_tag ( utility::tag::TagCOP  tag,
basic::datacache::DataMap data 
)
overridevirtual

◆ provide_citation_info()

void core::simple_metrics::metrics::CalculatorMetric::provide_citation_info ( basic::citation_manager::CitationCollectionList &  citations) const
overridevirtual

Provide the citation.

Reimplemented from core::simple_metrics::SimpleMetric.

References metrics_, name(), and core::scoring::pair.

◆ provide_xml_schema()

void core::simple_metrics::metrics::CalculatorMetric::provide_xml_schema ( utility::tag::XMLSchemaDefinition &  xsd)
static

Member Data Documentation

◆ calc_

numeric::CalculatorOP core::simple_metrics::metrics::CalculatorMetric::calc_
private

◆ metrics_

std::map<std::string, core::simple_metrics::RealMetricCOP> core::simple_metrics::metrics::CalculatorMetric::metrics_
private

◆ reported_values_

std::map<std::string, std::string> core::simple_metrics::metrics::CalculatorMetric::reported_values_
private

◆ values_

std::map<std::string, core::Real> core::simple_metrics::metrics::CalculatorMetric::values_
private

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