Rosetta  2021.16
 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::TimingProfileMetric Class Reference

Calculate the time difference between construction and apply/calculate. Useful to time protocols in RosettaScripts or through mover containers. More...

#include <TimingProfileMetric.hh>

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

Public Member Functions

 TimingProfileMetric ()
 Constructors ///. More...
 
 TimingProfileMetric (TimingProfileMetric const &src)
 Copy constructor (not needed unless you need deep copies) More...
 
 ~TimingProfileMetric () override
 Destructor (important for properly forward-declaring smart-pointer members) More...
 
core::Real calculate (pose::Pose const &pose) const override
 Metric Methods ///. More...
 
void set_calc_in_hours (bool calc_in_hours)
 Set option to calculate the timings in hours. Default false (minutes) More...
 
core::Real calc_time () const
 Core calculation that does not require pose. More...
 
std::string name () const override
 Name of the class. More...
 
std::string metric () const override
 Name of the metric. 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
 
void provide_citation_info (basic::citation_manager::CitationCollectionList &) const override
 Provide the citation. More...
 
- 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...
 
- 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

std::chrono::high_resolution_clock::time_point construction_time_
 
bool calc_in_hours_ = false
 

Detailed Description

Calculate the time difference between construction and apply/calculate. Useful to time protocols in RosettaScripts or through mover containers.

Constructor & Destructor Documentation

core::simple_metrics::metrics::TimingProfileMetric::TimingProfileMetric ( )

Constructors ///.

Default constructor

References construction_time_.

core::simple_metrics::metrics::TimingProfileMetric::TimingProfileMetric ( TimingProfileMetric const &  src)

Copy constructor (not needed unless you need deep copies)

Copy constructor.

References construction_time_.

core::simple_metrics::metrics::TimingProfileMetric::~TimingProfileMetric ( )
override

Destructor (important for properly forward-declaring smart-pointer members)

Member Function Documentation

core::Real core::simple_metrics::metrics::TimingProfileMetric::calc_time ( ) const

Core calculation that does not require pose.

References calc_in_hours_, and construction_time_.

Referenced by calculate().

core::Real core::simple_metrics::metrics::TimingProfileMetric::calculate ( 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. Returns time from construction to the call of this function in minutes, with decimal. Options are available to calculate in hours instead.

Implements core::simple_metrics::RealMetric.

References calc_time().

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

Name of the metric.

Implements core::simple_metrics::RealMetric.

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

Name of the class.

Implements core::simple_metrics::RealMetric.

References name_static().

Referenced by provide_citation_info().

std::string core::simple_metrics::metrics::TimingProfileMetric::name_static ( )
static
void core::simple_metrics::metrics::TimingProfileMetric::parse_my_tag ( utility::tag::TagCOP  tag,
basic::datacache::DataMap &  data 
)
overridevirtual

called by parse_my_tag – should not be used directly

Implements core::simple_metrics::RealMetric.

References core::simple_metrics::SimpleMetric::parse_base_tag(), and set_calc_in_hours().

void core::simple_metrics::metrics::TimingProfileMetric::provide_citation_info ( basic::citation_manager::CitationCollectionList &  citations) const
overridevirtual
void core::simple_metrics::metrics::TimingProfileMetric::provide_xml_schema ( utility::tag::XMLSchemaDefinition &  xsd)
static
void core::simple_metrics::metrics::TimingProfileMetric::set_calc_in_hours ( bool  calc_in_hours)

Set option to calculate the timings in hours. Default false (minutes)

References calc_in_hours_.

Referenced by parse_my_tag().

Member Data Documentation

bool core::simple_metrics::metrics::TimingProfileMetric::calc_in_hours_ = false
private

Referenced by calc_time(), and set_calc_in_hours().

std::chrono::high_resolution_clock::time_point core::simple_metrics::metrics::TimingProfileMetric::construction_time_
private

Referenced by calc_time(), and TimingProfileMetric().


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