Helios++
Helios software for LiDAR simulations
DesignTrajectoryFunction Class Reference

Class representing a trajectory function that comes from interpolating a TemporalDesignMatrix using its corresponding DiffDesignMatrix. More...

#include <DesignTrajectoryFunction.h>

Inheritance diagram for DesignTrajectoryFunction:
Collaboration diagram for DesignTrajectoryFunction:

Public Member Functions

 DesignTrajectoryFunction (arma::Col< double > const &timeFrontiers, arma::Mat< double > const &frontierValues, arma::Mat< double > const &frontierDerivatives)
 Default constructor for DesignTrajectoryFunction. More...
 
arma::Col< double > eval (double const &t) override
 Evaluate the function \(f(t) = (x_1(t), \ldots, x_n(t))\). More...
 
fluxionum::ParametricClosestLesserSampleFunction< double, double > & getPclsf ()
 Obtain the parametric closest lesser sample function used to compute the design trajectory function. More...
 
fluxionum::FixedParametricIterativeEulerMethod< double, double > & getFpiem ()
 Obtain the fixed parametric iterative Euler method used to compute the design trajectory function. More...
 
double getLastTime () const
 Obtain the last time evaluated by this function. More...
 
void setLastTime (double const lastTime)
 Set the last time evaluated by this function. More...
 
- Public Member Functions inherited from TrajectoryFunction
 TrajectoryFunction ()=default
 Default constructor for TrajectoryFunction.
 
- Public Member Functions inherited from fluxionum::Function< double, arma::Col< double > >
 Function ()=default
 
arma::Col< double > operator() (double const &x)
 Evaluate the function \(f(x)=y\). More...
 

Protected Attributes

fluxionum::ParametricClosestLesserSampleFunction< double, double > pclsf
 The function approximating the derivatives at a given time. More...
 
fluxionum::FixedParametricIterativeEulerMethod< double, double > fpiem
 The function solving the Euler method to estimate the parametric function. More...
 
double lastTime
 The last time value evaluated by this function. By default, it is 0.
 

Detailed Description

Class representing a trajectory function that comes from interpolating a TemporalDesignMatrix using its corresponding DiffDesignMatrix.

Author
Alberto M. Esmoris Pena
Version
1.0

The basic implementation of the DesignTrajectoryFunction uses the FixedParametricIterativeEulerMethod to approximate the values

See also
TrajectoryFunction
fluxionum::TemporalDesignMatrix
fluxionum::DiffDesignMatrix
fluxionum::FixedParametricIterativeEulerMethod

Constructor & Destructor Documentation

◆ DesignTrajectoryFunction()

DesignTrajectoryFunction::DesignTrajectoryFunction ( arma::Col< double > const &  timeFrontiers,
arma::Mat< double > const &  frontierValues,
arma::Mat< double > const &  frontierDerivatives 
)
inline

Default constructor for DesignTrajectoryFunction.

See also
DesignTrajectoryFunction::timeFrontiers
DesignTrajectoryFunction::frontierValues
DesignTrajectoryFunction::frontierDerivatives

Member Function Documentation

◆ eval()

arma::Col<double> DesignTrajectoryFunction::eval ( double const &  t)
inlineoverridevirtual

Evaluate the function \(f(t) = (x_1(t), \ldots, x_n(t))\).

Parameters
tThe value defining a concrete time
Returns
The output as column vector \((x_1(t), \ldots, x_n(t))^T\)

Implements fluxionum::Function< double, arma::Col< double > >.

◆ getFpiem()

fluxionum::FixedParametricIterativeEulerMethod<double, double>& DesignTrajectoryFunction::getFpiem ( )
inline

Obtain the fixed parametric iterative Euler method used to compute the design trajectory function.

Returns
The fixed parametric iterative Euler method used to compute the design trajectory function
See also
DesignTrajectoryFunction::fpiem
fluxionum::FixedParametricIterativeEulerMethod

◆ getLastTime()

double DesignTrajectoryFunction::getLastTime ( ) const
inline

Obtain the last time evaluated by this function.

Returns
The last time evaluated by this function
See also
DesignTrajectoryFunction::lastTime

◆ getPclsf()

fluxionum::ParametricClosestLesserSampleFunction<double, double>& DesignTrajectoryFunction::getPclsf ( )
inline

Obtain the parametric closest lesser sample function used to compute the design trajectory function.

Returns
The parametric closest lesser sample function used to compute the design trajectory function
See also
DesignTrajectoryFunction::pclsf
fluxionum::ParametricClosestLesserSampleFunction

◆ setLastTime()

void DesignTrajectoryFunction::setLastTime ( double const  lastTime)
inline

Set the last time evaluated by this function.

Parameters
lastTimeThe last time evaluated by this function
See also
DesignTrajectoryFunction::lastTime

Member Data Documentation

◆ fpiem

fluxionum::FixedParametricIterativeEulerMethod<double, double> DesignTrajectoryFunction::fpiem
protected

The function solving the Euler method to estimate the parametric function.

\[ \vec{x}(t+h) = \vec{x}(t) + h \frac{d\vec{x}}{dt} \]

◆ pclsf

fluxionum::ParametricClosestLesserSampleFunction<double, double> DesignTrajectoryFunction::pclsf
protected

The function approximating the derivatives at a given time.

\[ \frac{d\vec{x}}{dt} = \left( \frac{dx_1}{dt}, \ldots, \frac{dx_n}{dt} \right) \]


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