Loading...
Searching...
No Matches
casacore::Sinusoid1D< T > Class Template Reference
scimath package (libcasa_scimath) » Functionals_module

More...

`#include <Sinusoid1D.h>`

## Public Member Functions

| Sinusoid1D ()
| Constructs the Sinusoids, Defaults: amplitude=1, period==1, x0=0.
| Sinusoid1D (const T &amplitude)
| Sinusoid1D (const T &amplitude, const T &period)
| Sinusoid1D (const T &amplitude, 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
Public Member Functions inherited from casacore::Sinusoid1DParam< T >
| Sinusoid1DParam ()
| Constructs the Sinusoids, Defaults: amplitude=1, period==1, x0=0.
| Sinusoid1DParam (const T &amplitude)
| Sinusoid1DParam (const T &amplitude, const T &period)
| Sinusoid1DParam (const T &amplitude, const T &period, const T &x0)
| Sinusoid1DParam (const Sinusoid1DParam &other)
| Copy constructor (deep copy).
template<class W>
| Sinusoid1DParam (const Sinusoid1DParam< W > &other)
Sinusoid1DParam< T > & | operator= (const Sinusoid1DParam< T > &other)
| Copy assignment (deep copy).
virtual | ~Sinusoid1DParam ()
| Destructor.
virtual const String & | name () const
| Give name of function.
T | amplitude () const
| Get or set the amplitude of the Sinusoid.
void | setAmplitude (const T &amplitude)
T | x0 () const
| Get or set the x0 of the Sinusoid, the location of a peak.
void | setX0 (const T &x0)
T | period () const
| Get or set the period of the Sinusoid in full cycles.
void | setPeriod (const T &period)
Public Member Functions inherited from casacore::Function1D< T, U >
| Function1D ()
| Constructors.
| 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.
virtual uInt | ndim () const
| Returns the number of dimensions of function.
Public Member Functions inherited from casacore::Function< T, T >
| Function ()
| Constructors.
virtual | ~Function ()
| Destructor.
uInt | nparameters () const
| Returns the number of parameters.
virtual T | eval (FunctionArg x) const=0
| Evaluate the function object.
T & | operator[] (const uInt n)
| Manipulate the nth parameter (0-based) with no index check.
virtual T | operator() () const
| Evaluate this function object at xor at x, y.
Bool & | mask (const uInt n)
| Manipulate the mask associated with the nth parameter (e.g.
const FunctionParam< T > & | parameters () const
| Return the parameter interface.
const Vector< ArgType > & | argp () const
| Get arg_p and parset_p.
Bool | parsetp () const
void | lockParam ()
| Compiler cannot always find the correct 'const' version of parameter access.
void | unlockParam ()
virtual void | setMode (const RecordInterface &mode)
| get/set the function mode.
virtual void | getMode (RecordInterface &mode) const
virtual Bool | hasMode () const
| return True if the implementing function supports a mode.
ostream & | print (ostream &os) const
| Print the function (i.e.
Public Member Functions inherited from casacore::Functional< FunctionTraits< T >::ArgType, T >
virtual | ~Functional ()
| Destructor.
virtual T | operator() (const FunctionTraits< T >::ArgType &x) const=0
| Map a Domain x into a Range y value.
Public Member Functions inherited from casacore::Functional< Vector< FunctionTraits< T >::ArgType >, T >
virtual | ~Functional ()
| Destructor.
virtual T | operator() (const Vector< FunctionTraits< T >::ArgType > &x) const=0
| Map a Domain x into a Range y value.

## Additional Inherited Members

Public Types inherited from casacore::Sinusoid1DParam< T >
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
Protected Attributes inherited from casacore::Function< T, T >
FunctionParam< T > | param_p
| The parameters and masks.
Vector< ArgType > | arg_p
| Aid for non-contiguous argument storage.
Bool | parset_p
| Indicate parameter written.
Bool | locked_p
| Indicate that parameters are expected to be locked from changing.

## Detailed Description

template<class T>
class casacore::Sinusoid1D< T >

A one dimensional Sinusoid class.

### Intended use:

Public interface

### Review Status

Reviewed By:
  UNKNOWN
Date Reviewed:
  before2004/08/25
Test programs:
  tSinusoid1D

### Prerequisite

- Sinusoid1DParam
- Function

### Etymology

A Sinusoid1D functional is designed for calculating a Sinusoid in one dimension.

### Synopsis

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:

1. The amplitude of the Sinusoid. This is the value returned using the amplitude member function.
2. The period of the Sinusoid in the x direction. This is the value returned using the period member function. The period is expressed in full cycles.
3. The location of a peak of the Sinusoid (i.e. where 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.

### Example

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
casacore::Sinusoid1DParam::PERIOD
@ PERIOD
Definition Sinusoid1DParam.h:112
casacore::Sinusoid1D::Sinusoid1D
Sinusoid1D()
Constructs the Sinusoids, Defaults: amplitude=1, period==1, x0=0.
Definition Sinusoid1D.h:123

### Template Type Argument Requirements (T)

- T should have standard numerical operators and cos() function. Current implementation only tested for real types.
- To obtain derivatives, the derivatives should be defined.

### Thrown Exceptions

- AipsError if incorrect parameter number specified.
- Assertion in debug mode if operator(Vector<>) with empty Vector

Definition at line 112 of file Sinusoid1D.h.

## Constructor & Destructor Documentation

## Sinusoid1D() [1/6]

template<class T>

casacore::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 123 of file Sinusoid1D.h.

References casacore::Sinusoid1DParam< T >::Sinusoid1DParam().

Referenced by clone(), cloneAD(), cloneNonAD(), operator=(), Sinusoid1D(), and Sinusoid1D().

## Sinusoid1D() [2/6]

template<class T>

casacore::Sinusoid1D< T >::Sinusoid1D | ( | const T & | amplitude | ) |

inline explicit

Definition at line 124 of file Sinusoid1D.h.

References casacore::Sinusoid1DParam< T >::amplitude(), and casacore::Sinusoid1DParam< T >::Sinusoid1DParam().

## Sinusoid1D() [3/6]

template<class T>

casacore::Sinusoid1D< T >::Sinusoid1D | ( | const T & | amplitude,
|  | const T & | period )

inline

Definition at line 126 of file Sinusoid1D.h.

References casacore::Sinusoid1DParam< T >::amplitude(), casacore::Sinusoid1DParam< T >::period(), and casacore::Sinusoid1DParam< T >::Sinusoid1DParam().

## Sinusoid1D() [4/6]

template<class T>

casacore::Sinusoid1D< T >::Sinusoid1D | ( | const T & | amplitude,
|  | const T & | period,
|  | const T & | x0 )

inline

Definition at line 128 of file Sinusoid1D.h.

References casacore::Sinusoid1DParam< T >::amplitude(), casacore::Sinusoid1DParam< T >::period(), casacore::Sinusoid1DParam< T >::Sinusoid1DParam(), and casacore::Sinusoid1DParam< T >::x0().

## Sinusoid1D() [5/6]

template<class T>

casacore::Sinusoid1D< T >::Sinusoid1D | ( | const Sinusoid1D< T > & | other | ) |

inline

Copy constructor (deep copy).

Definition at line 134 of file Sinusoid1D.h.

References Sinusoid1D(), and casacore::Sinusoid1DParam< T >::Sinusoid1DParam().

## Sinusoid1D() [6/6]

template<class T>
template<class W>

casacore::Sinusoid1D< T >::Sinusoid1D | ( | const Sinusoid1D< W > & | other | ) |

inline

Definition at line 136 of file Sinusoid1D.h.

References Sinusoid1D(), and casacore::Sinusoid1DParam< T >::Sinusoid1DParam().

## ~Sinusoid1D()

template<class T>

virtual casacore::Sinusoid1D< T >::~Sinusoid1D | ( |  | ) |

inline virtual

Destructor.

Definition at line 144 of file Sinusoid1D.h.

## Member Function Documentation

## clone()

template<class T>

virtual Function< T > * casacore::Sinusoid1D< T >::clone | ( |  | ) | const

inline virtual

Return a copy of this object from the heap.

The caller is responsible for deleting this pointer.

Implements casacore::Function< T, T >.

Definition at line 157 of file Sinusoid1D.h.

References Sinusoid1D().

## cloneAD()

template<class T>

virtual Function< typename FunctionTraits< T >::DiffType > * casacore::Sinusoid1D< T >::cloneAD | ( |  | ) | const

inline virtual

Reimplemented from casacore::Function< T, T >.

Definition at line 158 of file Sinusoid1D.h.

References Sinusoid1D().

## cloneNonAD()

template<class T>

virtual Function< typename FunctionTraits< T >::BaseType > * casacore::Sinusoid1D< T >::cloneNonAD | ( |  | ) | const

inline virtual

Reimplemented from casacore::Function< T, T >.

Definition at line 160 of file Sinusoid1D.h.

References Sinusoid1D().

## eval()

template<class T>

virtual T casacore::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.

## operator=()

template<class T>

Sinusoid1D< T > & casacore::Sinusoid1D< T >::operator= | ( | const Sinusoid1D< T > & | other | ) |

inline

Copy assignment (deep copy).

Definition at line 140 of file Sinusoid1D.h.

References casacore::Sinusoid1DParam< T >::operator=(), and Sinusoid1D().

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

- scimath/Functionals/Sinusoid1D.h