lsst.modelfit.parameters g35bb328faa+afb4790f61
 
Loading...
Searching...
No Matches
lsst::modelfit::parameters::ParameterBase< T > Class Template Referenceabstract

Interface for parameters with values and metadata. More...

#include <parameter.h>

Inheritance diagram for lsst::modelfit::parameters::ParameterBase< T >:
lsst::modelfit::parameters::Object lsst::modelfit::parameters::Parameter< T, C >

Public Member Functions

virtual T get_default () const =0
 Get the default value.
 
virtual std::string get_desc () const =0
 Get a string description for this parameter class.
 
virtual bool get_fixed () const =0
 Return whether the parameter is fixed (not free).
 
virtual bool get_free () const =0
 Return whether the parameter is free (not fixed).
 
virtual std::string get_label () const =0
 Return a string label for this parameter instance.
 
virtual const Limits< T > & get_limits () const =0
 Return the limits for the untransformed value.
 
virtual const Limits< T > & get_limits_maximal () const =0
 Return limits representing the maximum/minimum untransformed value.
 
virtual bool get_linear () const =0
 Return whether the parameter is linear.
 
virtual T get_min () const =0
 Return the minimum value for this parameter instance.
 
virtual T get_max () const =0
 Return the maximum value for this parameter instance.
 
virtual std::string get_name () const =0
 Get a string name for this parameter class.
 
virtual const Transform< T > & get_transform () const =0
 Return the transforming function for this parameter instance.
 
virtual T get_transform_derivative () const =0
 Return the derivative of the transform for this parameter instance.
 
virtual std::shared_ptr< const Transform< T > > get_transform_ptr () const =0
 Return the transform pointer for this parameter instance.
 
virtual T get_value () const =0
 Return the untransformed value of this parameter instance.
 
virtual T get_value_transformed () const =0
 Return the transformed value of this parameter instance.
 
virtual const Unitget_unit () const =0
 Return the unit of this parameter instance.
 
virtual void set_fixed (bool fixed)=0
 Set the parameter to be fixed (or not).
 
virtual void set_free (bool free)=0
 Set the parameter to be free (or not).
 
virtual void set_label (std::string label)=0
 Set the string label for this parameter instance.
 
virtual void set_limits (std::shared_ptr< const Limits< T > > limits)=0
 Set the limits for this parameter instance.
 
virtual void set_transform (std::shared_ptr< const Transform< T > > transform)=0
 Set the transforming function for this parameter instance.
 
virtual void set_value (T value)=0
 Set the untransformed value for this parameter instance.
 
virtual void set_value_transformed (T value_transformed)=0
 Set the transformed value for this parameter instance.
 
virtual void set_unit (std::shared_ptr< const Unit > unit=nullptr)=0
 Set the unit for this parameter instance.
 
- Public Member Functions inherited from lsst::modelfit::parameters::Object
virtual std::string repr (bool name_keywords=false, const std::string_view &namespace_separator=CC_NAMESPACE_SEPARATOR) const =0
 
virtual std::string str () const =0
 Return a brief, human-readable string representation of this.
 

Static Public Member Functions

static const UnitTransform< T > & transform_none ()
 

Friends

bool operator== (const ParameterBase< T > &first, const ParameterBase< T > &second)
 
bool operator!= (const ParameterBase< T > &first, const ParameterBase< T > &second)
 
bool operator< (const ParameterBase< T > &first, const ParameterBase< T > &second)
 

Additional Inherited Members

- Static Public Attributes inherited from lsst::modelfit::parameters::Object
static constexpr std::string_view CC_NAMESPACE_SEPARATOR = "::"
 The C++ namespace separator.
 

Detailed Description

template<typename T>
class lsst::modelfit::parameters::ParameterBase< T >

Interface for parameters with values and metadata.

A parameter represents a single numeric value, with metadata like a name, description, unit, as well as optional limits and a transforming function. This class is intended for use in numerical optimization.

Template Parameters
TThe type of the value. Only floating point values are tested.
Note
This base class exists partly because e.g. Python bindings can't understand CRTP. It is probably unnecessary (albeit convenient) in C++ and comes with a performance cost.

Member Function Documentation

◆ get_default()

template<typename T>
virtual T lsst::modelfit::parameters::ParameterBase< T >::get_default ( ) const
pure virtual

Get the default value.

Implemented in lsst::modelfit::parameters::Parameter< T, C >.

◆ get_desc()

template<typename T>
virtual std::string lsst::modelfit::parameters::ParameterBase< T >::get_desc ( ) const
pure virtual

Get a string description for this parameter class.

Implemented in lsst::modelfit::parameters::Parameter< T, C >.

◆ get_fixed()

template<typename T>
virtual bool lsst::modelfit::parameters::ParameterBase< T >::get_fixed ( ) const
pure virtual

Return whether the parameter is fixed (not free).

Implemented in lsst::modelfit::parameters::Parameter< T, C >.

◆ get_free()

template<typename T>
virtual bool lsst::modelfit::parameters::ParameterBase< T >::get_free ( ) const
pure virtual

Return whether the parameter is free (not fixed).

Implemented in lsst::modelfit::parameters::Parameter< T, C >.

◆ get_label()

template<typename T>
virtual std::string lsst::modelfit::parameters::ParameterBase< T >::get_label ( ) const
pure virtual

Return a string label for this parameter instance.

Implemented in lsst::modelfit::parameters::Parameter< T, C >.

◆ get_limits()

template<typename T>
virtual const Limits< T > & lsst::modelfit::parameters::ParameterBase< T >::get_limits ( ) const
pure virtual

Return the limits for the untransformed value.

Implemented in lsst::modelfit::parameters::Parameter< T, C >.

◆ get_limits_maximal()

template<typename T>
virtual const Limits< T > & lsst::modelfit::parameters::ParameterBase< T >::get_limits_maximal ( ) const
pure virtual

Return limits representing the maximum/minimum untransformed value.

Implemented in lsst::modelfit::parameters::Parameter< T, C >.

◆ get_linear()

template<typename T>
virtual bool lsst::modelfit::parameters::ParameterBase< T >::get_linear ( ) const
pure virtual

Return whether the parameter is linear.

Implemented in lsst::modelfit::parameters::Parameter< T, C >.

◆ get_max()

template<typename T>
virtual T lsst::modelfit::parameters::ParameterBase< T >::get_max ( ) const
pure virtual

Return the maximum value for this parameter instance.

Implemented in lsst::modelfit::parameters::Parameter< T, C >.

◆ get_min()

template<typename T>
virtual T lsst::modelfit::parameters::ParameterBase< T >::get_min ( ) const
pure virtual

Return the minimum value for this parameter instance.

Implemented in lsst::modelfit::parameters::Parameter< T, C >.

◆ get_name()

template<typename T>
virtual std::string lsst::modelfit::parameters::ParameterBase< T >::get_name ( ) const
pure virtual

Get a string name for this parameter class.

Implemented in lsst::modelfit::parameters::Parameter< T, C >.

◆ get_transform()

template<typename T>
virtual const Transform< T > & lsst::modelfit::parameters::ParameterBase< T >::get_transform ( ) const
pure virtual

Return the transforming function for this parameter instance.

Implemented in lsst::modelfit::parameters::Parameter< T, C >.

◆ get_transform_derivative()

template<typename T>
virtual T lsst::modelfit::parameters::ParameterBase< T >::get_transform_derivative ( ) const
pure virtual

Return the derivative of the transform for this parameter instance.

Implemented in lsst::modelfit::parameters::Parameter< T, C >.

◆ get_transform_ptr()

template<typename T>
virtual std::shared_ptr< const Transform< T > > lsst::modelfit::parameters::ParameterBase< T >::get_transform_ptr ( ) const
pure virtual

Return the transform pointer for this parameter instance.

Implemented in lsst::modelfit::parameters::Parameter< T, C >.

◆ get_unit()

template<typename T>
virtual const Unit & lsst::modelfit::parameters::ParameterBase< T >::get_unit ( ) const
pure virtual

Return the unit of this parameter instance.

Implemented in lsst::modelfit::parameters::Parameter< T, C >.

◆ get_value()

template<typename T>
virtual T lsst::modelfit::parameters::ParameterBase< T >::get_value ( ) const
pure virtual

Return the untransformed value of this parameter instance.

Implemented in lsst::modelfit::parameters::Parameter< T, C >.

◆ get_value_transformed()

template<typename T>
virtual T lsst::modelfit::parameters::ParameterBase< T >::get_value_transformed ( ) const
pure virtual

Return the transformed value of this parameter instance.

Implemented in lsst::modelfit::parameters::Parameter< T, C >.

◆ set_fixed()

template<typename T>
virtual void lsst::modelfit::parameters::ParameterBase< T >::set_fixed ( bool fixed)
pure virtual

Set the parameter to be fixed (or not).

Implemented in lsst::modelfit::parameters::Parameter< T, C >.

◆ set_free()

template<typename T>
virtual void lsst::modelfit::parameters::ParameterBase< T >::set_free ( bool free)
pure virtual

Set the parameter to be free (or not).

Implemented in lsst::modelfit::parameters::Parameter< T, C >.

◆ set_label()

template<typename T>
virtual void lsst::modelfit::parameters::ParameterBase< T >::set_label ( std::string label)
pure virtual

Set the string label for this parameter instance.

Implemented in lsst::modelfit::parameters::Parameter< T, C >.

◆ set_limits()

template<typename T>
virtual void lsst::modelfit::parameters::ParameterBase< T >::set_limits ( std::shared_ptr< const Limits< T > > limits)
pure virtual

Set the limits for this parameter instance.

Implemented in lsst::modelfit::parameters::Parameter< T, C >.

◆ set_transform()

template<typename T>
virtual void lsst::modelfit::parameters::ParameterBase< T >::set_transform ( std::shared_ptr< const Transform< T > > transform)
pure virtual

Set the transforming function for this parameter instance.

Implemented in lsst::modelfit::parameters::Parameter< T, C >.

◆ set_unit()

template<typename T>
virtual void lsst::modelfit::parameters::ParameterBase< T >::set_unit ( std::shared_ptr< const Unit > unit = nullptr)
pure virtual

Set the unit for this parameter instance.

Implemented in lsst::modelfit::parameters::Parameter< T, C >.

◆ set_value()

template<typename T>
virtual void lsst::modelfit::parameters::ParameterBase< T >::set_value ( T value)
pure virtual

Set the untransformed value for this parameter instance.

Implemented in lsst::modelfit::parameters::Parameter< T, C >.

◆ set_value_transformed()

template<typename T>
virtual void lsst::modelfit::parameters::ParameterBase< T >::set_value_transformed ( T value_transformed)
pure virtual

Set the transformed value for this parameter instance.

Implemented in lsst::modelfit::parameters::Parameter< T, C >.


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