casacore
|
#include <Sinusoid1DParam.h>
Public Types | |
enum | { AMPLITUDE , PERIOD , X0 } |
Parameter numbers. More... | |
Public Types inherited from casacore::Function1D< T, U > | |
typedef const T * | FunctionArg |
Public Types inherited from casacore::Function< T, T > | |
typedef FunctionTraits< T >::ArgType | ArgType |
typedef const ArgType * | FunctionArg |
Public Member Functions | |
Sinusoid1DParam () | |
Constructs the Sinusoids, Defaults: amplitude=1, period==1, x0=0. More... | |
Sinusoid1DParam (const T &litude) | |
Sinusoid1DParam (const T &litude, const T &period) | |
Sinusoid1DParam (const T &litude, const T &period, const T &x0) | |
Sinusoid1DParam (const Sinusoid1DParam &other) | |
Copy constructor (deep copy) More... | |
template<class W > | |
Sinusoid1DParam (const Sinusoid1DParam< W > &other) | |
Sinusoid1DParam< T > & | operator= (const Sinusoid1DParam< T > &other) |
Copy assignment (deep copy) More... | |
virtual | ~Sinusoid1DParam () |
Destructor. More... | |
virtual const String & | name () const |
Give name of function. More... | |
T | amplitude () const |
Get or set the amplitude of the Sinusoid. More... | |
void | setAmplitude (const T &litude) |
T | x0 () const |
Get or set the x0 of the Sinusoid, the location of a peak. More... | |
void | setX0 (const T &x0) |
T | period () const |
Get or set the period of the Sinusoid in full cycles. More... | |
void | setPeriod (const T &period) |
Public Member Functions inherited from casacore::Function1D< T, U > | |
Function1D () | |
Constructors. More... | |
Function1D (const uInt n) | |
Function1D (const Vector< T > &in) | |
Function1D (const FunctionParam< T > &other) | |
template<class W , class X > | |
Function1D (const Function1D< W, X > &other) | |
virtual | ~Function1D () |
Destructor. More... | |
virtual uInt | ndim () const |
Returns the number of dimensions of function. More... | |
Public Member Functions inherited from casacore::Function< T, T > | |
Function () | |
Constructors. More... | |
Function (const uInt n) | |
Function (const Vector< T > &in) | |
Function (const FunctionParam< T > &other) | |
Function (const Function< W, X > &other) | |
virtual | ~Function () |
Destructor. More... | |
uInt | nparameters () const |
Returns the number of parameters. More... | |
virtual T | eval (FunctionArg x) const=0 |
Evaluate the function object. More... | |
T & | operator[] (const uInt n) |
Manipulate the nth parameter (0-based) with no index check. More... | |
const T & | operator[] (const uInt n) const |
virtual T | operator() () const |
Evaluate this function object at x or at x, y . More... | |
virtual T | operator() (const ArgType &x) const |
virtual T | operator() (const Vector< ArgType > &x) const |
virtual T | operator() (FunctionArg x) const |
virtual T | operator() (const ArgType &x, const ArgType &y) const |
virtual T | operator() (const ArgType &x, const ArgType &y, const ArgType &z) const |
Bool & | mask (const uInt n) |
Manipulate the mask associated with the nth parameter (e.g. More... | |
const Bool & | mask (const uInt n) const |
const FunctionParam< T > & | parameters () const |
Return the parameter interface. More... | |
FunctionParam< T > & | parameters () |
const Vector< ArgType > & | argp () const |
Get arg_p and parset_p . More... | |
Bool | parsetp () const |
void | lockParam () |
Compiler cannot always find the correct 'const' version of parameter access. More... | |
void | unlockParam () |
virtual void | setMode (const RecordInterface &mode) |
get/set the function mode. More... | |
virtual void | getMode (RecordInterface &mode) const |
virtual Bool | hasMode () const |
return True if the implementing function supports a mode. More... | |
ostream & | print (ostream &os) const |
Print the function (i.e. More... | |
virtual Function< T, T > * | clone () const=0 |
Return a copy of this object from the heap. More... | |
virtual Function< typename FunctionTraits< T >::DiffType > * | cloneAD () const |
virtual Function< typename FunctionTraits< T >::BaseType > * | cloneNonAD () const |
Public Member Functions inherited from casacore::Functional< FunctionTraits< T >::ArgType, T > | |
virtual | ~Functional () |
Destructor. More... | |
virtual T | operator() (const FunctionTraits< T >::ArgType &x) const=0 |
Map a Domain x into a Range y value. More... | |
Public Member Functions inherited from casacore::Functional< Vector< FunctionTraits< T >::ArgType >, T > | |
virtual | ~Functional () |
Destructor. More... | |
virtual T | operator() (const Vector< FunctionTraits< T >::ArgType > &x) const=0 |
Map a Domain x into a Range y value. More... | |
Additional Inherited Members | |
Protected Attributes inherited from casacore::Function< T, T > | |
FunctionParam< T > | param_p |
The parameters and masks. More... | |
Vector< ArgType > | arg_p |
Aid for non-contiguous argument storage. More... | |
Bool | parset_p |
Indicate parameter written. More... | |
Bool | locked_p |
Indicate that parameters are expected to be locked from changing. More... | |
Parameter handling for one dimensional Sinusoid class
Internal
A 1-dimensional sinusoid's parameters.
A Sinusoid1D
is described by an amplitude, a period, and a location of a peak. 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 FunctionParam 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.
This class is in general used implicitly by the Sinusoid1D
class only.
Definition at line 109 of file Sinusoid1DParam.h.
anonymous enum |
casacore::Sinusoid1DParam< T >::Sinusoid1DParam | ( | ) |
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
|
explicit |
casacore::Sinusoid1DParam< T >::Sinusoid1DParam | ( | const T & | amplitude, |
const T & | period | ||
) |
casacore::Sinusoid1DParam< T >::Sinusoid1DParam | ( | const T & | amplitude, |
const T & | period, | ||
const T & | x0 | ||
) |
casacore::Sinusoid1DParam< T >::Sinusoid1DParam | ( | const Sinusoid1DParam< T > & | other | ) |
Copy constructor (deep copy)
|
inline |
Definition at line 132 of file Sinusoid1DParam.h.
|
virtual |
Destructor.
|
inline |
Get or set the amplitude of the Sinusoid.
Definition at line 151 of file Sinusoid1DParam.h.
References casacore::Sinusoid1DParam< T >::AMPLITUDE, and casacore::Function< T, T >::param_p.
Referenced by casacore::Sinusoid1DParam< T >::setAmplitude().
|
inlinevirtual |
Give name of function.
Reimplemented from casacore::Function< T, T >.
Definition at line 146 of file Sinusoid1DParam.h.
Sinusoid1DParam<T>& casacore::Sinusoid1DParam< T >::operator= | ( | const Sinusoid1DParam< T > & | other | ) |
Copy assignment (deep copy)
Referenced by casacore::Sinusoid1D< T >::operator=().
|
inline |
Get or set the period of the Sinusoid in full cycles.
Definition at line 163 of file Sinusoid1DParam.h.
References casacore::Function< T, T >::param_p, and casacore::Sinusoid1DParam< T >::PERIOD.
Referenced by casacore::Sinusoid1DParam< T >::setPeriod().
|
inline |
Definition at line 152 of file Sinusoid1DParam.h.
References casacore::Sinusoid1DParam< T >::AMPLITUDE, casacore::Sinusoid1DParam< T >::amplitude(), and casacore::Function< T, T >::param_p.
|
inline |
Definition at line 164 of file Sinusoid1DParam.h.
References casacore::Function< T, T >::param_p, casacore::Sinusoid1DParam< T >::PERIOD, and casacore::Sinusoid1DParam< T >::period().
|
inline |
Definition at line 158 of file Sinusoid1DParam.h.
References casacore::Function< T, T >::param_p, casacore::Sinusoid1DParam< T >::X0, and casacore::Sinusoid1DParam< T >::x0().
|
inline |
Get or set the x0 of the Sinusoid, the location of a peak.
Definition at line 157 of file Sinusoid1DParam.h.
References casacore::Function< T, T >::param_p, and casacore::Sinusoid1DParam< T >::X0.
Referenced by casacore::Sinusoid1DParam< T >::setX0().