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>
38 #include <casacore/casa/Arrays/ArrayFwd.h>
Types
Types of known MFrequencies Warning: The order defines the order in the translation matrix FromTo in...
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...
MDoppler::Convert cvvo_p
Velocity conversion forward.
MVFrequency rest_p
Rest frequency.
const Unit & getFrequencyUnits() const
const Quantum< Double > & makeFrequency(Double in)
void set(const MFrequency::Ref &in)
Set or reset the specified part of the machine.
const Quantum< Double > & operator()(const Quantum< Double > &in)
const Quantum< Double > & operator()(const MVFrequency &in)
Return velocity if frequency given, or a frequency if a velocity is given.
VelocityMachine()
Construct an empty machine (not implemented)
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...
Unit fun_p
Frequency units.
const Quantum< Vector< Double > > & makeVelocity(const Vector< Double > &in)
MFrequency::Types vfm_p
Velocity frame.
const MFrequency::Types & getConversionReference() const
void set(const MDoppler::Ref &in)
VelocityMachine & operator=(const VelocityMachine &other)
Copy assignment (copy semantics)
const Unit & getDopplerUnits() const
const MFrequency::Ref & getFrequencyReference() const
Get the general information used in the machine (shadows the sets above and the constructor arguments...
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 Quantum< Double > & operator()(const MVDoppler &in)
MFrequency::Convert cvvf_p
Frequency conversion backward.
void init()
Initialise machinery.
void set(const MFrequency::Types &in)
Quantum< Vector< Double > > vresf_p
const Quantum< Double > & makeVelocity(Double in)
const Quantum< Vector< Double > > & makeFrequency(const Vector< Double > &in)
const MVFrequency & getRestFrequency() const
Unit vun_p
Velocity units.
VelocityMachine(const VelocityMachine &other)
Copy constructor (copy semantics)
const MDoppler::Ref & getDopplerReference() 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)
void set(const MVFrequency &in)
Sets the rest frequency.
void copy(const VelocityMachine &other)
Copy data members.
MFrequency::Convert cvfv_p
Frequency conversion forward.
Quantum< Vector< Double > > vresv_p
MDoppler::Convert cvov_p
Velocity conversion backward.
MDoppler::Ref vref_p
Velocity reference.
void set(const MeasFrame &in)
Sets the MeasFrame to be used in conversions.
void reCalculate()
Recalculate the machinery from the original inputs.
Quantum< Double > resv_p
Result.
MFrequency::Ref fref_p
Frequency reference.
this file contains all the compiler specific defines