Loading...
Searching...
No Matches
casacore::Sinusoid1DParam< T > Class Template Reference
Functionals_module_internal_classes

More...

`#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.
| 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.
virtual Function< T, T > * | clone () const=0
| 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::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

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::Sinusoid1DParam< T >

Parameter handling for one dimensional Sinusoid class

### Intended use:

Internal

### Review Status

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

### Prerequisite

- FunctionParam class
- Function1D class

### Etymology

A 1-dimensional sinusoid's parameters.

### Synopsis

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:

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.

This class is in general used implicitly by the Sinusoid1D class only.

### Example

Sinusoid1D<Double> sf(5.0, 25.0, 7);
sf(25); // = -4.911
sf.setAmplitude(1.0);
sf[Sinusoid1D<Double>::PERIOD] = 2.0;
sf.setX0(0.0);
sf(0.5); // = 1.0
casacore::Sinusoid1DParam::PERIOD
@ PERIOD
Definition Sinusoid1DParam.h:112
casacore::Sinusoid1D
Definition Sinusoid1D.h:113

### Template Type Argument Requirements (T)

- T should have standard numerical operators and exp() function. Current implementation only tested for real types (and their AutoDiffs).

### Thrown Exceptions

- Assertion in debug mode if attempt is made to set a negative width
- AipsError if incorrect parameter number specified.

Definition at line 107 of file Sinusoid1DParam.h.

## Member Enumeration Documentation

## anonymous enum

template<class T>

anonymous enum

Parameter numbers.

Enumerator
AMPLITUDE |
PERIOD |
X0 |

Definition at line 112 of file Sinusoid1DParam.h.

## Constructor & Destructor Documentation

## Sinusoid1DParam() [1/6]

template<class T>

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

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

## Sinusoid1DParam() [2/6]

template<class T>

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

explicit

References amplitude().

## Sinusoid1DParam() [3/6]

template<class T>

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

References amplitude(), and period().

## Sinusoid1DParam() [4/6]

template<class T>

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

References amplitude(), period(), and x0().

## Sinusoid1DParam() [5/6]

template<class T>

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

Copy constructor (deep copy).

References Sinusoid1DParam().

## Sinusoid1DParam() [6/6]

template<class T>
template<class W>

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

inline

Definition at line 130 of file Sinusoid1DParam.h.

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

## ~Sinusoid1DParam()

template<class T>

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

virtual

Destructor.

## Member Function Documentation

## amplitude()

template<class T>

T casacore::Sinusoid1DParam< T >::amplitude | ( |  | ) | const

inline

Get or set the amplitude of the Sinusoid.

Definition at line 149 of file Sinusoid1DParam.h.

References AMPLITUDE, and casacore::Function< T, T >::param_p.

Referenced by setAmplitude(), casacore::Sinusoid1D< T >::Sinusoid1D(), casacore::Sinusoid1D< T >::Sinusoid1D(), casacore::Sinusoid1D< T >::Sinusoid1D(), Sinusoid1DParam(), Sinusoid1DParam(), and Sinusoid1DParam().

## name()

template<class T>

virtual const String & casacore::Sinusoid1DParam< T >::name | ( |  | ) | const

inline virtual

Give name of function.

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

Definition at line 144 of file Sinusoid1DParam.h.

## operator=()

template<class T>

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

Copy assignment (deep copy).

References Sinusoid1DParam().

Referenced by casacore::Sinusoid1D< T >::operator=().

## period()

template<class T>

T casacore::Sinusoid1DParam< T >::period | ( |  | ) | const

inline

Get or set the period of the Sinusoid in full cycles.

Definition at line 161 of file Sinusoid1DParam.h.

References casacore::Function< T, T >::param_p, and PERIOD.

Referenced by setPeriod(), casacore::Sinusoid1D< T >::Sinusoid1D(), casacore::Sinusoid1D< T >::Sinusoid1D(), Sinusoid1DParam(), and Sinusoid1DParam().

## setAmplitude()

template<class T>

void casacore::Sinusoid1DParam< T >::setAmplitude | ( | const T & | amplitude | ) |

inline

Definition at line 150 of file Sinusoid1DParam.h.

References AMPLITUDE, amplitude(), and casacore::Function< T, T >::param_p.

## setPeriod()

template<class T>

void casacore::Sinusoid1DParam< T >::setPeriod | ( | const T & | period | ) |

inline

Definition at line 162 of file Sinusoid1DParam.h.

References casacore::Function< T, T >::param_p, PERIOD, and period().

## setX0()

template<class T>

void casacore::Sinusoid1DParam< T >::setX0 | ( | const T & | x0 | ) |

inline

Definition at line 156 of file Sinusoid1DParam.h.

References casacore::Function< T, T >::param_p, X0, and x0().

## x0()

template<class T>

T casacore::Sinusoid1DParam< T >::x0 | ( |  | ) | const

inline

Get or set the x0 of the Sinusoid, the location of a peak.

Definition at line 155 of file Sinusoid1DParam.h.

References casacore::Function< T, T >::param_p, and X0.

Referenced by setX0(), casacore::Sinusoid1D< T >::Sinusoid1D(), and Sinusoid1DParam().

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

- scimath/Functionals/Sinusoid1DParam.h