casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Types | Static Public Member Functions | Static Private Member Functions | Friends
casa::ComponentType Class Reference

Enumerators common to the ComponentsModels module. More...

#include <ComponentType.h>

List of all members.

Public Types

enum  Shape {
  POINT,
  GAUSSIAN,
  DISK,
  LDISK,
  UNKNOWN_SHAPE,
  NUMBER_SHAPES
}
 The shapes of all the components. More...
enum  Polarisation {
  STOKES,
  LINEAR,
  CIRCULAR,
  UNKNOWN_POLARISATION,
  NUMBER_POLARISATIONS
}
 The ways the Flux polarisation can be represented. More...
enum  SpectralShape {
  CONSTANT_SPECTRUM,
  SPECTRAL_INDEX,
  TABULAR_SPECTRUM,
  UNKNOWN_SPECTRAL_SHAPE,
  NUMBER_SPECTRAL_SHAPES
}
 The different functional forms for the spectral variation. More...

Static Public Member Functions

static String name (ComponentType::Shape shapeEnum)
 Convert the Shape enumerator to a string.
static ComponentType::Shape shape (const String &shapeName)
 Convert a given String to a Shape enumerator (min match active)
static String name (ComponentType::Polarisation fluxEnum)
 Convert the Polarisation enumerator to a string.
static ComponentType::Polarisation polarisation (const String &polarisationName)
 Convert a given String to a Polarisation enumerator.
static String name (ComponentType::SpectralShape spectralEnum)
 Convert the SpectralShape enumerator to a string.
static ComponentType::SpectralShape spectralShape (const String &spectralName)
 Convert a given String to a SpectralShape enumerator.

Static Private Member Functions

static ComponentShapeconstruct (ComponentType::Shape shapeEnum)
 Convert the Shape enumerator to a shape object (upcast to the base object).
static SpectralModelconstruct (ComponentType::SpectralShape spectralEnum)
 Convert the SpectralShape enumerator to a spectral model object (upcast to the base object).

Friends

class SkyCompRep
 Declare which classes access the private functions which convert enumerators to objects.
class ::casac::componentlist

Detailed Description

Enumerators common to the ComponentsModels module.

Intended use:

Public interface

 <h3>Review Status</h3><dl><dt>Date Reviewed:<dd>yyyy/mm/dd<dt>Test programs:<dd>tComponentType</dl> 

<h3>Etymology</h3>
This class contains the type definitions in the ComponentModels module 

<h3>Synopsis</h3> 
This class does nothing.  It is merely a container for the enumerations used
by the ComponentModels module.  These enumerations define the standard
component types. It also contains:
<ul>
<li> static functions which convert between these enumerators and strings.
<li> static functions which construct the appropriate derived object given
     an enumerator. Note that these functions are only accessible by the
     friend classes   \link casa::SkyCompRep SkyCompRep \endlink  and
       \link casa::ComponentList ComponentList \endlink  and should be
     considered an implementation detail.
</ul>
The first element in the enumerator must be represented by zero and every
enumerator must contain as the second last and last elements an UNKNOWN_*
and NUMBER_* element.  

<h3>Example</h3> @anchor ComponentType_example
See the documentation for the ComponentModels classes for examples on the
use of these enumerator and functions. For example the 
  \link casa::ComponentShape ComponentShape \endlink  class.

<h3>To Do</h3><ul> <li> Nothing I can think of.
</ul>

Definition at line 87 of file ComponentType.h.


Member Enumeration Documentation

The ways the Flux polarisation can be represented.

Enumerator:
STOKES 

The four Stokes parameters, ie I,Q,U,V.

LINEAR 

Linear polarisation feeds ie., XX,XY,YX,YY with zero parrallactic angle.

CIRCULAR 

Circular polarisation feeds ie., RR, RL, LR, LL.

UNKNOWN_POLARISATION 

An unknown Component.

NUMBER_POLARISATIONS 

The number of types in this enumerator.

Definition at line 111 of file ComponentType.h.

The shapes of all the components.

Enumerator:
POINT 

A simple point component.

GAUSSIAN 

A elliptical Gaussian component.

DISK 

A elliptical disk component.

LDISK 

A elliptical disk component with limb-darkening effect.

UNKNOWN_SHAPE 

An unknown Component.

NUMBER_SHAPES 

The number of types in this enumerator.

Definition at line 96 of file ComponentType.h.

The different functional forms for the spectral variation.

Enumerator:
CONSTANT_SPECTRUM 

The flux is constant at different frequencies.

SPECTRAL_INDEX 

The flux varies as I = I_0 * (nu / nu_0)^alpha

TABULAR_SPECTRUM 

Tabular values interpolated in between.

UNKNOWN_SPECTRAL_SHAPE 

an unknown spectral type

NUMBER_SPECTRAL_SHAPES 

The number of spectral types in this enumerator.

Definition at line 124 of file ComponentType.h.


Member Function Documentation

static ComponentShape* casa::ComponentType::construct ( ComponentType::Shape  shapeEnum) [static, private]

Convert the Shape enumerator to a shape object (upcast to the base object).

Returns a null pointer if the object could not be constructed. This will occur is the enumerator is UNKNOWN_SHAPE or NUMBER_SHAPES or there is insufficient memory. The caller of this function is responsible for deleting the pointer.

static SpectralModel* casa::ComponentType::construct ( ComponentType::SpectralShape  spectralEnum) [static, private]

Convert the SpectralShape enumerator to a spectral model object (upcast to the base object).

Returns a null pointer if the object could not be constructed. This will occur is the enumerator is UNKNOWN_SPECTRAL_SHAPE or NUMBER_SPECTRAL_SHAPES or there is insufficient memory. The caller of this function is responsible for deleting the pointer.

static String casa::ComponentType::name ( ComponentType::Shape  shapeEnum) [static]

Convert the Shape enumerator to a string.

Convert the Polarisation enumerator to a string.

Convert the SpectralShape enumerator to a string.

static ComponentType::Polarisation casa::ComponentType::polarisation ( const String polarisationName) [static]

Convert a given String to a Polarisation enumerator.

static ComponentType::Shape casa::ComponentType::shape ( const String shapeName) [static]

Convert a given String to a Shape enumerator (min match active)

static ComponentType::SpectralShape casa::ComponentType::spectralShape ( const String spectralName) [static]

Convert a given String to a SpectralShape enumerator.


Friends And Related Function Documentation

friend class ::casac::componentlist [friend]

Definition at line 93 of file ComponentType.h.

friend class SkyCompRep [friend]

Declare which classes access the private functions which convert enumerators to objects.

The private construct functions can only be accessed by functions in the friend classes specified below.

Definition at line 92 of file ComponentType.h.


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