casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions
casa::Sinusoid1D< T > Class Template Reference

A one dimensional Sinusoid class. More...

#include <Sinusoid1D.h>

Inheritance diagram for casa::Sinusoid1D< T >:
casa::Sinusoid1DParam< T > casa::Function1D< T > casa::Function< T, T > casa::Functional< FunctionTraits< T >::ArgType, T > casa::Functional< Vector< FunctionTraits< T >::ArgType >, T >

List of all members.

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

Detailed Description

template<class T>
class casa::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

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

Template Type Argument Requirements (T)

Thrown Exceptions

Definition at line 114 of file Sinusoid1D.h.


Constructor & Destructor Documentation

template<class T>
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.

template<class T>
casa::Sinusoid1D< T >::Sinusoid1D ( const T &  amplitude) [inline, explicit]

Definition at line 126 of file Sinusoid1D.h.

template<class T>
casa::Sinusoid1D< T >::Sinusoid1D ( const T &  amplitude,
const T &  period 
) [inline]

Definition at line 128 of file Sinusoid1D.h.

template<class T>
casa::Sinusoid1D< T >::Sinusoid1D ( const T &  amplitude,
const T &  period,
const T &  x0 
) [inline]

Definition at line 130 of file Sinusoid1D.h.

template<class T>
casa::Sinusoid1D< T >::Sinusoid1D ( const Sinusoid1D< T > &  other) [inline]

Copy constructor (deep copy)

Definition at line 136 of file Sinusoid1D.h.

template<class T>
template<class W >
casa::Sinusoid1D< T >::Sinusoid1D ( const Sinusoid1D< W > &  other) [inline]

Definition at line 138 of file Sinusoid1D.h.

template<class T>
virtual casa::Sinusoid1D< T >::~Sinusoid1D ( ) [inline, virtual]

Destructor.

Definition at line 146 of file Sinusoid1D.h.


Member Function Documentation

template<class T>
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.

template<class T>
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.

template<class T>
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.

template<class T>
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.

template<class T>
Sinusoid1D<T>& casa::Sinusoid1D< T >::operator= ( const Sinusoid1D< T > &  other) [inline]

Copy assignment (deep copy)

Definition at line 142 of file Sinusoid1D.h.


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