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

MDoppler conversion routines. More...

#include <MCDoppler.h>

Inheritance diagram for casa::MCDoppler:
casa::MCBase

List of all members.

Public Member Functions

 MCDoppler ()
 Default constructor.
 ~MCDoppler ()

Static Public Member Functions

static String showState ()
 Show the state of the conversion engine (mainly for debugging purposes)

Private Types

enum  Routes {
  RADIO_RATIO,
  Z_RATIO,
  BETA_RATIO,
  GAMMA_RATIO,
  RATIO_RADIO,
  RATIO_Z,
  RATIO_BETA,
  RATIO_GAMMA,
  N_Routes
}
 The list of actual routines provided. More...

Private Member Functions

virtual void getConvert (MConvertBase &mc, const MRBase &inref, const MRBase &outref)
 Create conversion function pointer.
virtual void initConvert (uInt which, MConvertBase &mc)
 Create help structures for Measure conversion routines.
virtual void clearConvert ()
 Delete the pointers used in the MeasConvert help structure cache.
virtual void doConvert (MeasValue &in, MRBase &inref, MRBase &outref, const MConvertBase &mc)
 Routine to convert Doppler from one reference frame to another.
void doConvert (MVDoppler &in, MRBase &inref, MRBase &outref, const MConvertBase &mc)
 Conversion routine to cater for inheritance question.

Static Private Member Functions

static void fillState ()
 Fill the global state in a thread-safe way.
static void doFillState (void *)
 Fill the global state in a thread-safe way.

Static Private Attributes

static uInt ToRef_p [N_Routes][3]
 Transition list.
static uInt FromTo_p [MDoppler::N_Types][MDoppler::N_Types]
 Transition matrix.
static MutexedInit theirMutexedInit
 Mutex for thread-safety.

Friends

class MeasConvert< MDoppler >
 Conversion of data.

Detailed Description

MDoppler conversion routines.

Intended use:

Internal

 <h3>Review Status</h3><dl><dt>Reviewed By:<dd>UNKNOWN<dt>Date Reviewed:<dd>before2004/08/25<dt>Test programs:<dd>tMeasure</dl> 

Prerequisite

Etymology

Measure, Convert and Doppler

Synopsis

Contains state machinery and caching for actual conversions

Example

Conversion of a radio Doppler to an optical

        #include <measures/Measures.h>
        #include <measures/Measures/MDoppler.h>
        MDoppler radio(0.01);           // A radio Doppler value
        cout << "Doppler radio = " << radio << "; optical = " <<
                MDoppler::Convert(radio, MDoppler::OPTICAL)() << // Convert 
                endl;

Setting up a conversion

        MDoppler::Convert to_opt(MDoppler::RADIO, MDoppler::OPTICAL);
        for (Double d=0; d<0.1; d += 0.005) {
                cout << "radio = " << d << " to optical = " <<
                        to_opt(d) << endl;

Motivation

Definition at line 95 of file MCDoppler.h.


Member Enumeration Documentation

enum casa::MCDoppler::Routes [private]

The list of actual routines provided.


Warning: Each AA_BB in the list points to routine that can be used in the FromTo list in the getConvert routine; In addition the type to which each is converted should be in the ToRef array, again in the proper order;

Enumerator:
RADIO_RATIO 
Z_RATIO 
BETA_RATIO 
GAMMA_RATIO 
RATIO_RADIO 
RATIO_Z 
RATIO_BETA 
RATIO_GAMMA 
N_Routes 

Reimplemented from casa::MCBase.

Definition at line 122 of file MCDoppler.h.


Constructor & Destructor Documentation

Default constructor.


Member Function Documentation

virtual void casa::MCDoppler::clearConvert ( ) [private, virtual]

Delete the pointers used in the MeasConvert help structure cache.

Implements casa::MCBase.

virtual void casa::MCDoppler::doConvert ( MeasValue in,
MRBase inref,
MRBase outref,
const MConvertBase mc 
) [private, virtual]

Routine to convert Doppler from one reference frame to another.

Implements casa::MCBase.

void casa::MCDoppler::doConvert ( MVDoppler in,
MRBase inref,
MRBase outref,
const MConvertBase mc 
) [private]

Conversion routine to cater for inheritance question.

static void casa::MCDoppler::doFillState ( void *  ) [static, private]

Fill the global state in a thread-safe way.

static void casa::MCDoppler::fillState ( ) [inline, static, private]

Fill the global state in a thread-safe way.

Definition at line 152 of file MCDoppler.h.

References casa::MutexedInit::exec(), and theirMutexedInit.

virtual void casa::MCDoppler::getConvert ( MConvertBase mc,
const MRBase inref,
const MRBase outref 
) [private, virtual]

Create conversion function pointer.

Implements casa::MCBase.

virtual void casa::MCDoppler::initConvert ( uInt  which,
MConvertBase mc 
) [private, virtual]

Create help structures for Measure conversion routines.

Implements casa::MCBase.

static String casa::MCDoppler::showState ( ) [static]

Show the state of the conversion engine (mainly for debugging purposes)


Friends And Related Function Documentation

friend class MeasConvert< MDoppler > [friend]

Conversion of data.

Definition at line 101 of file MCDoppler.h.


Member Data Documentation

Transition matrix.

Definition at line 147 of file MCDoppler.h.

Mutex for thread-safety.

Definition at line 149 of file MCDoppler.h.

Referenced by fillState().

uInt casa::MCDoppler::ToRef_p[N_Routes][3] [static, private]

Transition list.

Definition at line 145 of file MCDoppler.h.


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