casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | List of all members
casacore::Sinusoid1DParam< T > Class Template Reference

Parameter handling for one dimensional Sinusoid class. More...

#include <Sinusoid1DParam.h>

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

Public Types

enum  {
  AMPLITUDE,
  PERIOD,
  X0
}
 Parameter numbers. More...
 
- Public Types inherited from casacore::Function1D< T >
typedef const T * FunctionArg
 
- Public Types inherited from casacore::Function< T, U >
typedef FunctionTraits< T >
::ArgType 
ArgType
 
typedef const ArgTypeFunctionArg
 

Public Member Functions

 Sinusoid1DParam ()
 Constructs the Sinusoids, Defaults: amplitude=1, period==1, x0=0. More...
 
 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) 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 Stringname () const
 Give name of function. More...
 
amplitude () const
 Get or set the amplitude of the Sinusoid. More...
 
void setAmplitude (const T &amplitude)
 
x0 () const
 Get or set the x0 of the Sinusoid, the location of a peak. More...
 
void setX0 (const T &x0)
 
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 >
 Function1D ()
 Constructors. More...
 
 Function1D (const uInt n)
 
 Function1D (const Vector< T > &in)
 
 Function1D (const FunctionParam< T > &other)
 
 Function1D (const Function1D< T, T > &other)
 
 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, U >
 Function ()
 Constructors. More...
 
 Function (const uInt n)
 
 Function (const Vector< T > &in)
 
 Function (const FunctionParam< T > &other)
 
template<class W , class X >
 Function (const Function< W, X > &other)
 
 Function (const Function< T, U > &other)
 
virtual ~Function ()
 Destructor. More...
 
uInt nparameters () const
 Returns the number of parameters. More...
 
virtual U 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 U operator() () const
 Evaluate this function object at xor at x, y. More...
 
virtual U operator() (const ArgType &x) const
 
virtual U operator() (const Vector< ArgType > &x) const
 
virtual U operator() (FunctionArg x) const
 
virtual U operator() (const ArgType &x, const ArgType &y) const
 
virtual U operator() (const ArgType &x, const ArgType &y, const ArgType &z) const
 
Boolmask (const uInt n)
 Manipulate the mask associated with the nth parameter (e.g. More...
 
const Boolmask (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, U > * 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, U >
virtual ~Functional ()
 Destructor. More...
 
virtual U 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 >, U >
virtual ~Functional ()
 Destructor. More...
 
virtual U 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, U >
FunctionParam< T > param_p
 The parameters and masks. More...
 
Vector< ArgTypearg_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...
 

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

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

Template Type Argument Requirements (T)

Thrown Exceptions

Definition at line 109 of file Sinusoid1DParam.h.

Member Enumeration Documentation

template<class T>
anonymous enum

Parameter numbers.

Enumerator
AMPLITUDE 
PERIOD 
X0 

Definition at line 114 of file Sinusoid1DParam.h.

Constructor & Destructor Documentation

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

template<class T>
casacore::Sinusoid1DParam< T >::Sinusoid1DParam ( const T &  amplitude)
explicit
template<class T>
casacore::Sinusoid1DParam< T >::Sinusoid1DParam ( const T &  amplitude,
const T &  period 
)
template<class T>
casacore::Sinusoid1DParam< T >::Sinusoid1DParam ( const T &  amplitude,
const T &  period,
const T &  x0 
)
template<class T>
casacore::Sinusoid1DParam< T >::Sinusoid1DParam ( const Sinusoid1DParam< T > &  other)

Copy constructor (deep copy)

template<class T>
template<class W >
casacore::Sinusoid1DParam< T >::Sinusoid1DParam ( const Sinusoid1DParam< W > &  other)
inline

Definition at line 132 of file Sinusoid1DParam.h.

template<class T>
virtual casacore::Sinusoid1DParam< T >::~Sinusoid1DParam ( )
virtual

Destructor.

Member Function Documentation

template<class T>
T casacore::Sinusoid1DParam< T >::amplitude ( ) const
inline

Get or set the amplitude of the Sinusoid.

Definition at line 151 of file Sinusoid1DParam.h.

Referenced by casacore::Sinusoid1DParam< AutoDiff< T > >::setAmplitude().

template<class T>
virtual const String& casacore::Sinusoid1DParam< T >::name ( ) const
inlinevirtual

Give name of function.

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

Definition at line 146 of file Sinusoid1DParam.h.

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

Copy assignment (deep copy)

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

template<class T>
T casacore::Sinusoid1DParam< T >::period ( ) const
inline

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

Definition at line 163 of file Sinusoid1DParam.h.

Referenced by casacore::Sinusoid1DParam< AutoDiff< T > >::setPeriod().

template<class T>
void casacore::Sinusoid1DParam< T >::setAmplitude ( const T &  amplitude)
inline

Definition at line 152 of file Sinusoid1DParam.h.

template<class T>
void casacore::Sinusoid1DParam< T >::setPeriod ( const T &  period)
inline

Definition at line 164 of file Sinusoid1DParam.h.

template<class T>
void casacore::Sinusoid1DParam< T >::setX0 ( const T &  x0)
inline

Definition at line 158 of file Sinusoid1DParam.h.

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 157 of file Sinusoid1DParam.h.

Referenced by casacore::Sinusoid1DParam< AutoDiff< T > >::setX0().


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