bpp-core  2.2.0
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros
bpp::TransformedParameter Class Referenceabstract

The TransformedParameter abstract class. More...

#include <Bpp/Numeric/TransformedParameter.h>

+ Inheritance diagram for bpp::TransformedParameter:
+ Collaboration diagram for bpp::TransformedParameter:

Public Member Functions

 TransformedParameter (const std::string &name, double value)
 
TransformedParameterclone () const =0
 Create a copy of this object and send a pointer to it. More...
 
virtual void setOriginalValue (double value)=0 throw (ConstraintException)
 Set the value of the parameter using the orignal coordinate system. More...
 
virtual double getOriginalValue () const =0
 
virtual double getFirstOrderDerivative () const =0 throw (NotImplementedException)
 
virtual double getSecondOrderDerivative () const =0 throw (NotImplementedException)
 
virtual void setName (const std::string &name)
 Set the name of this parameter. More...
 
virtual void setValue (double value) throw (ConstraintException)
 Set the value of this parameter. More...
 
void setPrecision (double precision)
 Set the precision of this parameter. More...
 
virtual const std::string & getName () const
 Get the name of this parameter. More...
 
virtual double getValue () const
 Get the value of this parameter. More...
 
virtual double getPrecision () const
 Get the precision of this parameter. More...
 
virtual const ConstraintgetConstraint () const
 Return the constraint associated to this parameter if there is one. More...
 
virtual ConstraintgetConstraint ()
 Return the constraint associated to this parameter if there is one. More...
 
virtual bool hasConstraint () const
 Tells if this parameter has a constraint. More...
 
virtual const ConstraintremoveConstraint ()
 Remove the constraint associated to this parameter. More...
 
virtual void setConstraint (Constraint *constraint, bool attach=false)
 Set a constraint to this parameter. More...
 
virtual void addParameterListener (ParameterListener *listener, bool attachListener=true)
 Add a new listener to this parameter. More...
 
virtual void removeParameterListener (const std::string &listenerId)
 Remove all listeners with a given id from this parameter. More...
 
virtual bool hasParameterListener (const std::string &listenerId)
 Tell is there is a listener with a given id from this parameter. More...
 

Static Public Attributes

static const IntervalConstraint R_PLUS
 
static const IntervalConstraint R_PLUS_STAR
 
static const IntervalConstraint R_MINUS
 
static const IntervalConstraint R_MINUS_STAR
 
static const IntervalConstraint PROP_CONSTRAINT_IN
 
static const IntervalConstraint PROP_CONSTRAINT_EX
 

Protected Member Functions

void fireParameterNameChanged (ParameterEvent &event)
 
void fireParameterValueChanged (ParameterEvent &event)
 

Protected Attributes

std::string name_
 
double value_
 
double precision_
 
Constraintconstraint_
 
bool attach_
 
std::vector< ParameterListener * > listeners_
 
std::vector< bool > listenerAttach_
 

Detailed Description

The TransformedParameter abstract class.

This class extends the Parameter class. A transformed parameter does not have a constraint attached to it, and is supposed to range from -inf to +inf. It uses a transformation in order to do this, typically using a bijection. The exact function used to achieve the transformation depends on the implementation of the interface.

Definition at line 59 of file TransformedParameter.h.

Constructor & Destructor Documentation

bpp::TransformedParameter::TransformedParameter ( const std::string &  name,
double  value 
)
inline

Definition at line 63 of file TransformedParameter.h.

Member Function Documentation

virtual void bpp::Parameter::addParameterListener ( ParameterListener listener,
bool  attachListener = true 
)
inlinevirtualinherited

Add a new listener to this parameter.

Parameters
listenerThe listener to add.
attachListenerTell if the parameter will own this listener. If so, deep copies will be made when cloning the parameter, and the listener will be destroyed upon destruction of the parameter or upon removal. Alternatively, only superficial copies will be made, and the listener will persist if the parameter is destroyed.

Definition at line 298 of file Parameter.h.

References bpp::Parameter::listenerAttach_, and bpp::Parameter::listeners_.

Referenced by bpp::AbstractParameterAliasable::aliasParameters().

TransformedParameter* bpp::TransformedParameter::clone ( ) const
pure virtual

Create a copy of this object and send a pointer to it.

Returns
A pointer toward the copy object.

Reimplemented from bpp::Parameter.

Implemented in bpp::PlaceboTransformedParameter, bpp::IntervalTransformedParameter, and bpp::RTransformedParameter.

void bpp::Parameter::fireParameterNameChanged ( ParameterEvent event)
inlineprotectedinherited

Definition at line 320 of file Parameter.h.

References bpp::Parameter::listeners_.

Referenced by bpp::Parameter::setName().

void bpp::Parameter::fireParameterValueChanged ( ParameterEvent event)
inlineprotectedinherited

Definition at line 325 of file Parameter.h.

References bpp::Parameter::listeners_.

virtual const Constraint* bpp::Parameter::getConstraint ( ) const
inlinevirtualinherited

Return the constraint associated to this parameter if there is one.

Returns
A pointer toward the constraint, or NULL if there is no constraint.

Definition at line 255 of file Parameter.h.

References bpp::Parameter::constraint_.

Referenced by bpp::AbstractParameterAliasable::aliasParameters(), bpp::ReparametrizationFunctionWrapper::init_(), bpp::ParameterList::matchParametersValues(), bpp::ParameterList::setParametersValues(), and bpp::ParameterList::testParametersValues().

virtual Constraint* bpp::Parameter::getConstraint ( )
inlinevirtualinherited

Return the constraint associated to this parameter if there is one.

Returns
A pointer toward the constraint, or NULL if there is no constraint.

Definition at line 262 of file Parameter.h.

References bpp::Parameter::constraint_.

virtual double bpp::TransformedParameter::getFirstOrderDerivative ( ) const
throw (NotImplementedException
)
pure virtual
Returns
The first order derivative of the transformation at the original point.
Exceptions
NotImplementedExceptionif the transformation does not support derivation or if the derivation was not implemented.

Implemented in bpp::PlaceboTransformedParameter, bpp::IntervalTransformedParameter, and bpp::RTransformedParameter.

virtual double bpp::TransformedParameter::getOriginalValue ( ) const
pure virtual
Returns
The current value of the parameter in orignal coordinates.

Implemented in bpp::PlaceboTransformedParameter, bpp::IntervalTransformedParameter, and bpp::RTransformedParameter.

virtual double bpp::Parameter::getPrecision ( ) const
inlinevirtualinherited

Get the precision of this parameter.

Returns
The precision value.

Definition at line 248 of file Parameter.h.

References bpp::Parameter::precision_.

virtual double bpp::TransformedParameter::getSecondOrderDerivative ( ) const
throw (NotImplementedException
)
pure virtual
Returns
The second order derivative of the transformation at the original point.
Exceptions
NotImplementedExceptionif the transformation does not support derivation or if the derivation was not implemented.

Implemented in bpp::PlaceboTransformedParameter, bpp::IntervalTransformedParameter, and bpp::RTransformedParameter.

virtual bool bpp::Parameter::hasConstraint ( ) const
inlinevirtualinherited

Tells if this parameter has a constraint.

Returns
True if this parameter has a contraint.

Definition at line 269 of file Parameter.h.

References bpp::Parameter::constraint_.

Referenced by bpp::AbstractParameterAliasable::aliasParameters(), bpp::ParameterList::matchParametersValues(), bpp::ParameterList::setParametersValues(), and bpp::ParameterList::testParametersValues().

bool Parameter::hasParameterListener ( const std::string &  listenerId)
virtualinherited

Tell is there is a listener with a given id from this parameter.

Parameters
listenerIdThe id of listener to remove.
Returns
True if at list one listener with the given id was found.

Definition at line 187 of file Parameter.cpp.

References bpp::Parameter::listeners_.

const Constraint * Parameter::removeConstraint ( )
virtualinherited

Remove the constraint associated to this parameter.

Warning! The contraint objet is not deleted.

Returns
A pointer toward the formerly used contraint.

Definition at line 163 of file Parameter.cpp.

References bpp::Parameter::constraint_.

Referenced by bpp::SimpleDiscreteDistribution::restrictToConstraint().

void Parameter::removeParameterListener ( const std::string &  listenerId)
virtualinherited

Remove all listeners with a given id from this parameter.

Parameters
listenerIdThe id of listener to remove.

Definition at line 172 of file Parameter.cpp.

References bpp::Parameter::listenerAttach_, and bpp::Parameter::listeners_.

void Parameter::setConstraint ( Constraint constraint,
bool  attach = false 
)
virtualinherited

Set a constraint to this parameter.

Parameters
constrainta pointer to the constraint (may be null)
attachsays if the constraint is attached to the Parameter (default: false).

Constraint:

Definition at line 143 of file Parameter.cpp.

References bpp::Parameter::attach_, bpp::Parameter::constraint_, bpp::Constraint::isCorrect(), and bpp::Parameter::value_.

Referenced by bpp::ConstantDistribution::restrictToConstraint(), bpp::TruncatedExponentialDiscreteDistribution::restrictToConstraint(), and bpp::SimpleDiscreteDistribution::restrictToConstraint().

virtual void bpp::Parameter::setName ( const std::string &  name)
inlinevirtualinherited
virtual void bpp::TransformedParameter::setOriginalValue ( double  value)
throw (ConstraintException
)
pure virtual

Set the value of the parameter using the orignal coordinate system.

Parameters
valueParameter value in original coordinates.
Exceptions
ConstraintExceptionif the value is not correct.

Implemented in bpp::PlaceboTransformedParameter, bpp::IntervalTransformedParameter, and bpp::RTransformedParameter.

Referenced by bpp::RTransformedParameter::RTransformedParameter().

void Parameter::setPrecision ( double  precision)
inherited

Set the precision of this parameter.

Parameters
precisionthe new parameter precision.

Precision:

Definition at line 136 of file Parameter.cpp.

References bpp::Parameter::precision_.

Member Data Documentation

bool bpp::Parameter::attach_
protectedinherited
std::vector<bool> bpp::Parameter::listenerAttach_
protectedinherited
std::string bpp::Parameter::name_
protectedinherited
double bpp::Parameter::precision_
protectedinherited
const IntervalConstraint Parameter::PROP_CONSTRAINT_EX
staticinherited
const IntervalConstraint Parameter::R_MINUS
staticinherited

Definition at line 334 of file Parameter.h.

const IntervalConstraint Parameter::R_MINUS_STAR
staticinherited

Definition at line 335 of file Parameter.h.

const IntervalConstraint Parameter::R_PLUS_STAR
staticinherited
double bpp::Parameter::value_
protectedinherited

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