#include <components/ComponentModels/GaussianShape.h>
#include <components/ComponentModels/Flux.h>
#include <casacore/casa/Arrays/Vector.h>
#include <casacore/casa/Exceptions/Error.h>
#include <casacore/casa/Logging/LogIO.h>
#include <casacore/casa/Logging/LogOrigin.h>
#include <casacore/casa/BasicSL/Constants.h>
#include <casacore/casa/BasicMath/Math.h>
#include <casacore/measures/Measures/MCDirection.h>
#include <casacore/measures/Measures/MDirection.h>
#include <casacore/measures/Measures/MeasConvert.h>
#include <casacore/measures/Measures/MeasRef.h>
#include <casacore/casa/Quanta/MVAngle.h>
#include <casacore/casa/Quanta/MVDirection.h>
#include <casacore/casa/Quanta/Quantum.h>
#include <casacore/casa/Utilities/Assert.h>
#include <casacore/casa/BasicSL/String.h>
using namespace casacore;
GaussianShape::GaussianShape()
itsShape(1.0, 0.0, 0.0, Quantity(1,"'").getValue("rad"), 1.0, 0.0),
DebugAssert(ok(), AipsError);
GaussianShape::GaussianShape(const MDirection& direction,
const Quantum<Double>& majorAxis,
const Quantum<Double>& minorAxis,
const Quantum<Double>& positionAngle)
:TwoSidedShape(direction, majorAxis.getFullUnit(),