Go to the documentation of this file.
28 #ifndef MEASURES_VELOCITYMACHINE_H
29 #define MEASURES_VELOCITYMACHINE_H
32 #include <casacore/casa/aips.h>
33 #include <casacore/casa/Quanta/Unit.h>
34 #include <casacore/casa/Quanta/Quantum.h>
35 #include <casacore/measures/Measures/MCFrequency.h>
36 #include <casacore/measures/Measures/MCDoppler.h>
37 #include <casacore/measures/Measures/MeasConvert.h>
43 template <
class T>
class Vector;
Quantum< Vector< Double > > vresf_p
MFrequency::Convert cvfv_p
Frequency conversion forward.
void set(const MDoppler::Ref &in)
const MFrequency::Ref & getFrequencyReference() const
Get the general information used in the machine (shadows the sets above and the constructor arguments...
MFrequency::Convert cvvf_p
Frequency conversion backward.
VelocityMachine(const VelocityMachine &other)
Copy constructor (copy semantics)
void set(const MVFrequency &in)
Sets the rest frequency.
Internal value for MDoppler.
VelocityMachine & operator=(const VelocityMachine &other)
Copy assignment (copy semantics)
Unit fun_p
Frequency units.
Quantum< Double > resv_p
Result.
void set(const MeasFrame &in)
Sets the MeasFrame to be used in conversions.
void set(const MFrequency::Ref &in)
Set or reset the specified part of the machine.
const Quantum< Double > & makeFrequency(Double in)
Container for Measure frame.
void init()
Initialise machinery.
VelocityMachine(const MFrequency::Ref &freqref, const Unit &freqUnits, const MVFrequency &restFreq, const MFrequency::Types &convertRef, const MDoppler::Ref &velRef, const Unit &velUnits, const MeasFrame &frame)
Construct a machine from the input values (frame conversion, explicit frame) with explicit velocity r...
Internal value for MFrequency.
const Quantum< Double > & operator()(const MVFrequency &in)
Return velocity if frequency given, or a frequency if a velocity is given.
const MDoppler::Ref & getDopplerReference() const
Quantum< Vector< Double > > vresv_p
Unit vun_p
Velocity units.
MFrequency::Ref fref_p
Frequency reference.
void reCalculate()
Recalculate the machinery from the original inputs.
const Quantum< Double > & operator()(const Quantum< Double > &in)
MDoppler::Ref vref_p
Velocity reference.
this file contains all the compiler specific defines
VelocityMachine()
Construct an empty machine (not implemented)
const Quantum< Vector< Double > > & makeFrequency(const Vector< Double > &in)
void set(const MFrequency::Types &in)
Types
Types of known MFrequencies Warning: The order defines the order in the translation matrix FromTo in...
MFrequency::Types vfm_p
Velocity frame.
const Unit & getDopplerUnits() const
VelocityMachine(const MFrequency::Ref &freqRef, const Unit &freqUnits, const MVFrequency &restFreq, const MFrequency::Types &convertRef, const MDoppler::Ref &velRef, const Unit &velUnits)
Construct a machine from the input values (frame conversion, implicit frame assumed if necessary) wit...
const Quantum< Double > & makeVelocity(Double in)
const Quantum< Vector< Double > > & makeVelocity(const Vector< Double > &in)
MDoppler::Convert cvvo_p
Velocity conversion forward.
Converts between velocities and frequencies.
const Quantum< Double > & operator()(const MVDoppler &in)
void copy(const VelocityMachine &other)
Copy data members.
MVFrequency rest_p
Rest frequency.
VelocityMachine(const MFrequency::Ref &freqRef, const Unit &freqUnits, const MVFrequency &restFreq, const MDoppler::Ref &velRef, const Unit &velUnits, const MeasFrame &frame)
Construct a machine from the input values (no frame conversion, explicit frame will be added to freqR...
const MFrequency::Types & getConversionReference() const
MDoppler::Convert cvov_p
Velocity conversion backward.
const Unit & getFrequencyUnits() const
VelocityMachine(const MFrequency::Ref &freqRef, const Unit &freqUnits, const MVFrequency &restFreq, const MDoppler::Ref &velRef, const Unit &velUnits)
Construct a machine from the input values (no frame conversion, implicit frame if necessary)
const MVFrequency & getRestFrequency() const