![]() |
TkN 2.5
Toolkit for Nuclei
|
Stores a physical measurement with its value, unit, and uncertainty. More...
Stores a physical measurement with its value, unit, and uncertainty.
Stores information on an experimental measure.
A tkmeasure encapsulates a measured quantity together with its unit and symmetric or asymmetric uncertainty. It also carries a tag describing the quality of the measurement (limit value, approximate, systematic, calculated, etc.).
Values can be retrieved in any compatible unit via get_value(units_key). Errors are accessible via get_error(), or get_error_low() / get_error_high() for asymmetric uncertainties.
Example:
To handle the fact that a measure is always associated to a specific unit and an uncertainty, that can be in some cases asymmetric, a dedicated class called tkn::tkmeasure has been created.
In addition, a tkmeasure gives some properties on the measure, like if the measure is uncertain, is coming from a systematic study or from calculations. It can also handle the fact that some measures are given as a limit value.
The standard way to access a tkmeasure is using the tkproperty_list::get() method:
To list the accessible tkmeasure properties, use:
The same applies for a tklevel or a tkdecay:
In this case, the lifetime uncertainty is asymmetric, we can access it as follows:
Definition at line 56 of file tkmeasure.h.
#include <tkmeasure.h>
Public Member Functions | |
| tkmeasure () | |
| tkmeasure (double _value, const tkstring &_unit_name, double _err=0) | |
| tkmeasure (double _value, const tkstring &_unit_name, double _errlow, double _errhigh) | |
| tkmeasure (double _value, const tkunit_manager::units_keys &_unit, double _err=0) | |
| tkmeasure (double _value, const tkunit_manager::units_keys &_unit, double _errlow, double _errhigh) | |
| virtual | ~tkmeasure () override=default |
| double | get_error () const |
| returns the error on the measured value | |
| double | get_error (const tkstring &_unit_name) |
| returns the error on the measured value in the required string unit | |
| double | get_error (const tkunit_manager::units_keys &_unit) |
| returns the error on the measured value in the required unit key | |
| double | get_error_high () const |
| returns the high assymetric error on the measured value | |
| double | get_error_high (const tkstring &_unit_name) |
| returns the high assymetric error on the measured value in the required string unit | |
| double | get_error_high (const tkunit_manager::units_keys &_unit) |
| returns the high assymetric error on the measured value in the required unit key | |
| double | get_error_low () const |
| returns the low assymetric error on the measured value | |
| double | get_error_low (const tkstring &_unit_name) |
| returns the low assymetric error on the measured value in the required string unit | |
| double | get_error_low (const tkunit_manager::units_keys &_unit) |
| returns the low assymetric error on the measured value in the required unit key | |
| int | get_exp_error_precision (const double &_err) const |
| calculate the needed precision for printouts | |
| const tkstring & | get_info_tag () |
| returns the info tag (calculation, systematic, approx value...) | |
| const tkstring & | get_info_tag_const () const |
| const tkstring & | get_type () const |
| returns the measured data type (energy, lifetime...) | |
| tkstring | get_unit () const |
| returns the unit name | |
| tkunit_manager::units_keys | get_unit_key () const |
| returns the unit key | |
| double | get_value () const |
| returns the measure value | |
| double | get_value (const tkstring &_unit_name) |
| returns the measure value in the required string unit | |
| double | get_value (const tkunit_manager::units_keys &_unit) |
| returns the measure value in the required unit key | |
| bool | is_asym_errors () const |
| test is the measure uncertainty is asymmetric | |
| tkmeasure | operator* (double _multiplier) const |
| tkmeasure | operator+ (const tkmeasure &_measure) const |
| tkmeasure | operator- () const |
| tkmeasure | operator- (const tkmeasure &_measure) const |
| void | print (bool with_return=true) |
| print the measured properties | |
| void | set (const double &_val, const tkstring &_unit="") |
| set the measured value and unit. No given units keeps the current one | |
| void | set (const double &_val, const tkunit_manager::units_keys &_unit) |
| set the measured value and unit key | |
| virtual void | set_error (const double &_err) |
| set the error of this measured data | |
| virtual void | set_error (const double &_err_low, const double &_err_high) |
| set the asymmetric error of this value | |
| void | set_info_tag (const tkstring &_tag) |
| define the info tag (calculation, systematic, approx value...) | |
| void | set_type (const tkstring &_type) |
| set the measured data type (energy, lifetime...) | |
| bool | set_unit (const tkstring &_unit_name) |
| set the measured data unit (value and errors) | |
| bool | set_unit (const tkunit_manager::units_keys &_unit) |
| set the measured data unit (value and errors) | |
Public Member Functions inherited from tkproperty | |
| tkproperty () | |
| tkproperty (tkproperty::data_info _info) | |
| virtual | ~tkproperty () |
| void | clear () |
| clear the property | |
| data_info | get_info () |
| to get information about this data | |
| data_info | get_info_const () const |
| tkstring | get_info_str (bool _showknown=true) const |
| to print in string the data_info | |
| tkstring | get_reference () |
| to get the reference of this data | |
| bool | is_converted () const |
| to know if the value has been converted | |
| bool | is_info (data_info _info) const |
| to get some information about this data | |
| bool | is_known () const |
| to get some information about this data | |
| void | set_converted (bool _val=true) |
| to define the value as a converted one | |
| void | set_info (tkproperty::data_info _info) |
| to set some information about this data | |
| void | set_reference (const char *_st) |
| to set the reference of this data | |
Friends | |
| tkmeasure | operator* (double _multiplier, const tkmeasure &obj) |
| std::ostream & | operator<< (std::ostream &os, const tkmeasure *_measure) |
| redefinition of the << operator to take precision into account | |
Additional Inherited Members | |
Public Types inherited from tkproperty | |
| enum | data_info { kKnown , kUnknown , kTentative , kTheo , kAbout , kSystematic , kLimit , kUncertain } |
| flags that qualify a given data More... | |
Static Public Member Functions inherited from tkproperty | |
| static data_info | what_is (const tkstring &_st) |
| It deduces from a string the kind of data. | |
|
inline |
Definition at line 70 of file tkmeasure.h.
Definition at line 71 of file tkmeasure.h.
Definition at line 72 of file tkmeasure.h.
| tkmeasure | ( | double | _value, |
| const tkunit_manager::units_keys & | _unit, | ||
| double | _err = 0 ) |
Definition at line 103 of file tkmeasure.cpp.
| tkmeasure | ( | double | _value, |
| const tkunit_manager::units_keys & | _unit, | ||
| double | _errlow, | ||
| double | _errhigh ) |
Definition at line 111 of file tkmeasure.cpp.
|
overridevirtualdefault |
| double get_error | ( | ) | const |
returns the error on the measured value
Definition at line 226 of file tkmeasure.cpp.
|
inline |
returns the error on the measured value in the required string unit
Definition at line 125 of file tkmeasure.h.
| double get_error | ( | const tkunit_manager::units_keys & | _unit | ) |
returns the error on the measured value in the required unit key
Definition at line 235 of file tkmeasure.cpp.
| double get_error_high | ( | ) | const |
returns the high assymetric error on the measured value
Definition at line 261 of file tkmeasure.cpp.
|
inline |
returns the high assymetric error on the measured value in the required string unit
Definition at line 139 of file tkmeasure.h.
| double get_error_high | ( | const tkunit_manager::units_keys & | _unit | ) |
returns the high assymetric error on the measured value in the required unit key
Definition at line 269 of file tkmeasure.cpp.
| double get_error_low | ( | ) | const |
returns the low assymetric error on the measured value
Definition at line 244 of file tkmeasure.cpp.
|
inline |
returns the low assymetric error on the measured value in the required string unit
Definition at line 132 of file tkmeasure.h.
| double get_error_low | ( | const tkunit_manager::units_keys & | _unit | ) |
returns the low assymetric error on the measured value in the required unit key
Definition at line 252 of file tkmeasure.cpp.
|
inline |
calculate the needed precision for printouts
Definition at line 319 of file tkmeasure.h.
|
inline |
returns the info tag (calculation, systematic, approx value...)
Definition at line 83 of file tkmeasure.h.
|
inline |
Definition at line 84 of file tkmeasure.h.
|
inline |
returns the measured data type (energy, lifetime...)
Definition at line 89 of file tkmeasure.h.
|
inline |
returns the unit name
Definition at line 142 of file tkmeasure.h.
|
inline |
returns the unit key
Definition at line 144 of file tkmeasure.h.
|
inline |
returns the measure value
Definition at line 92 of file tkmeasure.h.
|
inline |
returns the measure value in the required string unit
Definition at line 96 of file tkmeasure.h.
| double get_value | ( | const tkunit_manager::units_keys & | _unit | ) |
returns the measure value in the required unit key
Definition at line 216 of file tkmeasure.cpp.
|
inline |
test is the measure uncertainty is asymmetric
Definition at line 78 of file tkmeasure.h.
|
inline |
Definition at line 276 of file tkmeasure.h.
Definition at line 233 of file tkmeasure.h.
|
inline |
Definition at line 306 of file tkmeasure.h.
Definition at line 311 of file tkmeasure.h.
|
inline |
print the measured properties
Definition at line 227 of file tkmeasure.h.
| void set | ( | const double & | _val, |
| const tkstring & | _unit = "" ) |
set the measured value and unit. No given units keeps the current one
Definition at line 155 of file tkmeasure.cpp.
| void set | ( | const double & | _val, |
| const tkunit_manager::units_keys & | _unit ) |
set the measured value and unit key
Definition at line 161 of file tkmeasure.cpp.
|
inlinevirtual |
set the error of this measured data
Definition at line 104 of file tkmeasure.h.
|
inlinevirtual |
set the asymmetric error of this value
Definition at line 112 of file tkmeasure.h.
| void set_info_tag | ( | const tkstring & | _tag | ) |
define the info tag (calculation, systematic, approx value...)
Definition at line 121 of file tkmeasure.cpp.
|
inline |
set the measured data type (energy, lifetime...)
Definition at line 87 of file tkmeasure.h.
|
inline |
set the measured data unit (value and errors)
Definition at line 147 of file tkmeasure.h.
| bool set_unit | ( | const tkunit_manager::units_keys & | _unit | ) |
set the measured data unit (value and errors)
Definition at line 167 of file tkmeasure.cpp.
Definition at line 305 of file tkmeasure.h.
|
friend |
redefinition of the << operator to take precision into account
Definition at line 152 of file tkmeasure.h.