casa
$Rev:20696$
|
A one dimensional Sinusoid class. More...
#include <Sinusoid1D.h>
Public Member Functions | |
Sinusoid1D () | |
Constructs the Sinusoids, Defaults: amplitude=1, period==1, x0=0. | |
Sinusoid1D (const T &litude) | |
Sinusoid1D (const T &litude, const T &period) | |
Sinusoid1D (const T &litude, const T &period, const T &x0) | |
Sinusoid1D (const Sinusoid1D &other) | |
Copy constructor (deep copy) | |
template<class W > | |
Sinusoid1D (const Sinusoid1D< W > &other) | |
Sinusoid1D< T > & | operator= (const Sinusoid1D< T > &other) |
Copy assignment (deep copy) | |
virtual | ~Sinusoid1D () |
Destructor. | |
virtual T | eval (typename Function1D< T >::FunctionArg x) const |
Evaluate the Sinusoid at x . | |
virtual Function< T > * | clone () const |
Return a copy of this object from the heap. | |
virtual Function< typename FunctionTraits< T >::DiffType > * | cloneAD () const |
virtual Function< typename FunctionTraits< T >::BaseType > * | cloneNonAD () const |
A one dimensional Sinusoid class.
Public interface
A Sinusoid1D functional is designed for calculating a Sinusoid in one dimension.
A Sinusoid1D
is described by an amplitude, a period, and a location of a peak. Its fundamental operation is evaluating itself at some x
. The parameters (amplitude, period, and x0) may be changed at run time.
The functional form is A*cos(2*pi(x-x0)/P)
The parameter interface (see Sinusoid1DParam class), is used to provide an interface to the Fitting classes.
There are 3 parameters that are used to describe the Sinusoid:
amplitude
member function. period
member function. The period is expressed in full cycles. x=pi+k.2pi
) An enumeration for the AMPLITUDE
, PERIOD
and X0
parameter index is provided, enabling the setting and reading of parameters with the []
operator. The mask()
methods can be used to check and set the parameter masks.
Sinusoid1D<Double> sf(5.0, 25.0, 7); sf(25); // = -0.9369 sf.setAmplitude(1.0); sf[PERIOD] = 2.0; sf.setX0(0.0); sf(0.5); // = 0.0
Definition at line 114 of file Sinusoid1D.h.
casa::Sinusoid1D< T >::Sinusoid1D | ( | ) | [inline] |
Constructs the Sinusoids, Defaults: amplitude=1, period==1, x0=0.
I.e. a cosinusoid with cos(x)
.
Warning: Could not use default arguments that worked both with gcc and IRIX
Definition at line 125 of file Sinusoid1D.h.
casa::Sinusoid1D< T >::Sinusoid1D | ( | const T & | amplitude | ) | [inline, explicit] |
Definition at line 126 of file Sinusoid1D.h.
casa::Sinusoid1D< T >::Sinusoid1D | ( | const T & | amplitude, |
const T & | period | ||
) | [inline] |
Definition at line 128 of file Sinusoid1D.h.
casa::Sinusoid1D< T >::Sinusoid1D | ( | const T & | amplitude, |
const T & | period, | ||
const T & | x0 | ||
) | [inline] |
Definition at line 130 of file Sinusoid1D.h.
casa::Sinusoid1D< T >::Sinusoid1D | ( | const Sinusoid1D< T > & | other | ) | [inline] |
Copy constructor (deep copy)
Definition at line 136 of file Sinusoid1D.h.
casa::Sinusoid1D< T >::Sinusoid1D | ( | const Sinusoid1D< W > & | other | ) | [inline] |
Definition at line 138 of file Sinusoid1D.h.
virtual casa::Sinusoid1D< T >::~Sinusoid1D | ( | ) | [inline, virtual] |
Destructor.
Definition at line 146 of file Sinusoid1D.h.
virtual Function<T>* casa::Sinusoid1D< T >::clone | ( | ) | const [inline, virtual] |
Return a copy of this object from the heap.
The caller is responsible for deleting this pointer.
Implements casa::Function< T, T >.
Definition at line 159 of file Sinusoid1D.h.
virtual Function<typename FunctionTraits<T>::DiffType>* casa::Sinusoid1D< T >::cloneAD | ( | ) | const [inline, virtual] |
Reimplemented from casa::Function< T, T >.
Definition at line 160 of file Sinusoid1D.h.
virtual Function<typename FunctionTraits<T>::BaseType>* casa::Sinusoid1D< T >::cloneNonAD | ( | ) | const [inline, virtual] |
Reimplemented from casa::Function< T, T >.
Definition at line 162 of file Sinusoid1D.h.
virtual T casa::Sinusoid1D< T >::eval | ( | typename Function1D< T >::FunctionArg | x | ) | const [virtual] |
Evaluate the Sinusoid at x
.
If a vector is used as the argument only its first element is used.
Sinusoid1D<T>& casa::Sinusoid1D< T >::operator= | ( | const Sinusoid1D< T > & | other | ) | [inline] |
Copy assignment (deep copy)
Definition at line 142 of file Sinusoid1D.h.