CTL  0.6.1
Computed Tomography Library
Public Types | Public Member Functions | Private Attributes | Friends | List of all members
CTL::ConstantModel Class Reference

The ConstantModel class represents a model that always returns a fixed value. More...

#include <datamodels1d.h>

Inheritance diagram for CTL::ConstantModel:
Inheritance graph
[legend]
Collaboration diagram for CTL::ConstantModel:
Collaboration graph
[legend]

Public Types

enum  { Type = 51 }
 
- Public Types inherited from CTL::AbstractDataModel
enum  { Type = 0 }
 
- Public Types inherited from CTL::SerializationInterface
enum  { Type = -1, UserType = 65536 }
 

Public Member Functions

int type () const override
 
float valueAt (float position) const override
 Always returns the constant amplitude of this model. More...
 
float binIntegral (float position, float binWidth) const override
 Returns the integral over model values in the interval [position - 0.5 * binWidth, position + 0.5 * binWidth]. More...
 
AbstractIntegrableDataModelclone () const override
 
 ConstantModel (float amplitude=1.0f)
 Constructs a constant model that always returns the value amplitude.
 
QVariant parameter () const override
 
void setParameter (const QVariant &parameter) override
 
- Public Member Functions inherited from CTL::AbstractIntegrableDataModel
float meanValue (float position, float binWidth) const
 
- Public Member Functions inherited from CTL::AbstractDataModel
void fromVariant (const QVariant &variant) override
 
QVariant toVariant () const override
 
bool isIntegrable () const
 
void setName (const QString &name)
 
const QString & name () const
 
- Public Member Functions inherited from CTL::SerializationInterface
virtual ~SerializationInterface ()=default
 

Private Attributes

float _amplitude
 

Friends

template<class >
struct SerializationHelper::RegisterWithSerializationHelper
 

Additional Inherited Members

- Protected Member Functions inherited from CTL::AbstractIntegrableDataModel
 AbstractIntegrableDataModel (const AbstractIntegrableDataModel &)=default
 
 AbstractIntegrableDataModel (AbstractIntegrableDataModel &&)=default
 
AbstractIntegrableDataModeloperator= (const AbstractIntegrableDataModel &)=default
 
AbstractIntegrableDataModeloperator= (AbstractIntegrableDataModel &&)=default
 
- Protected Member Functions inherited from CTL::AbstractDataModel
 AbstractDataModel (const AbstractDataModel &)=default
 
 AbstractDataModel (AbstractDataModel &&)=default
 
AbstractDataModeloperator= (const AbstractDataModel &)=default
 
AbstractDataModeloperator= (AbstractDataModel &&)=default
 
- Protected Member Functions inherited from CTL::SerializationInterface
 SerializationInterface ()=default
 
 SerializationInterface (const SerializationInterface &)=default
 
 SerializationInterface (SerializationInterface &&)=default
 
SerializationInterfaceoperator= (const SerializationInterface &)=default
 
SerializationInterfaceoperator= (SerializationInterface &&)=default
 

Detailed Description

The ConstantModel class represents a model that always returns a fixed value.

This model maps all input to the same output value specified in the constructor.

Member Function Documentation

◆ binIntegral()

float CTL::ConstantModel::binIntegral ( float  position,
float  binWidth 
) const
overridevirtual

Returns the integral over model values in the interval [position - 0.5 * binWidth, position + 0.5 * binWidth].

If the model output to input parameter \( x \) is given by \( f(x) \), this method computes and returns:

\( \begin{align*} \int_{position-\frac{binWidth}{2}}^{position+\frac{binWidth}{2}} f(x) \,dx \end{align*} \)

Implements CTL::AbstractIntegrableDataModel.

◆ clone()

AbstractIntegrableDataModel * CTL::ConstantModel::clone ( ) const
overridevirtual

Creates a copy of this instance and returns a base class pointer to the new object.

Implements CTL::AbstractIntegrableDataModel.

◆ parameter()

QVariant CTL::ConstantModel::parameter ( ) const
overridevirtual

Returns the parameters of this instance as QVariant.

This returns a QVariantMap with one key-value-pair, representing amplitude.

Reimplemented from CTL::AbstractDataModel.

◆ setParameter()

void CTL::ConstantModel::setParameter ( const QVariant &  parameter)
overridevirtual

Sets the parameters of this instance based on the passed QVariant parameter.

Parameters can be passed by either of the following two options:

  1. As a QVariantMap with one key-value-pair: ("amplitude", amplitude).
  2. As a QVariantList: In this case, the list must contain one floating point value, i.e. amplitude.

Reimplemented from CTL::AbstractDataModel.

◆ type()

int CTL::ConstantModel::type ( ) const
inlineoverridevirtual

Returns the type id of this instance.

Reimplemented from CTL::AbstractDataModel.

◆ valueAt()

float CTL::ConstantModel::valueAt ( float  position) const
overridevirtual

Always returns the constant amplitude of this model.

The amplitude is specified during construction or by means of setParameter().

Implements CTL::AbstractDataModel.


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