Skip to content
Snippets Groups Projects
libBornAgainBase.py 133 KiB
Newer Older

        """
        return _libBornAgainBase.Transform3D_isXRotation(self)

    def isYRotation(self):
        r"""
        isYRotation(Transform3D self) -> bool
        bool Transform3D::isYRotation() const

        """
        return _libBornAgainBase.Transform3D_isYRotation(self)

    def isZRotation(self):
        r"""
        isZRotation(Transform3D self) -> bool
        bool Transform3D::isZRotation() const

        """
        return _libBornAgainBase.Transform3D_isZRotation(self)

# Register Transform3D in _libBornAgainBase:
_libBornAgainBase.Transform3D_swigregister(Transform3D)

def Transform3D_createRotateX(phi):
    r"""Transform3D_createRotateX(double phi) -> Transform3D"""
    return _libBornAgainBase.Transform3D_createRotateX(phi)

def Transform3D_createRotateY(phi):
    r"""Transform3D_createRotateY(double phi) -> Transform3D"""
    return _libBornAgainBase.Transform3D_createRotateY(phi)

def Transform3D_createRotateZ(phi):
    r"""Transform3D_createRotateZ(double phi) -> Transform3D"""
    return _libBornAgainBase.Transform3D_createRotateZ(phi)

def Transform3D_createRotateEuler(alpha, beta, gamma):
    r"""Transform3D_createRotateEuler(double alpha, double beta, double gamma) -> Transform3D"""
    return _libBornAgainBase.Transform3D_createRotateEuler(alpha, beta, gamma)

class Bin1D(object):
    r"""Proxy of C++ Bin1D class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(Bin1D self) -> Bin1D
        __init__(Bin1D self, double lower, double upper) -> Bin1D
        Bin1D::Bin1D(double lower, double upper)

        """
        _libBornAgainBase.Bin1D_swiginit(self, _libBornAgainBase.new_Bin1D(*args))
    m_lower = property(_libBornAgainBase.Bin1D_m_lower_get, _libBornAgainBase.Bin1D_m_lower_set, doc=r"""m_lower : double""")
    m_upper = property(_libBornAgainBase.Bin1D_m_upper_get, _libBornAgainBase.Bin1D_m_upper_set, doc=r"""m_upper : double""")

    def center(self):
        center(Bin1D self) -> double
        double Bin1D::center() const
        return _libBornAgainBase.Bin1D_center(self)
    def binSize(self):
        binSize(Bin1D self) -> double
        double Bin1D::binSize() const
        return _libBornAgainBase.Bin1D_binSize(self)
    __swig_destroy__ = _libBornAgainBase.delete_Bin1D

# Register Bin1D in _libBornAgainBase:
_libBornAgainBase.Bin1D_swigregister(Bin1D)


def BinContains(bin, value):
    BinContains(Bin1D bin, double value) -> bool
    bool BinContains(const Bin1D &bin, double value)
    Checks if value is contained in bin: value in [m_lower, m_upper) 
    """
    return _libBornAgainBase.BinContains(bin, value)
class Bin1DKVector(object):
    r"""
    An one-dimensional range of R3's.

    C++ includes: Bin.h

    """

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(Bin1DKVector self) -> Bin1DKVector
        __init__(Bin1DKVector self, R3 lower, R3 upper) -> Bin1DKVector
        __init__(Bin1DKVector self, double wavelength, Bin1D alpha_bin, Bin1D phi_bin) -> Bin1DKVector
        Bin1DKVector::Bin1DKVector(double wavelength, const Bin1D &alpha_bin, const Bin1D &phi_bin)
        creation on  Bin1DKVector from alpha and phi bins 
        _libBornAgainBase.Bin1DKVector_swiginit(self, _libBornAgainBase.new_Bin1DKVector(*args))
    def center(self):
        center(Bin1DKVector self) -> R3
        R3 Bin1DKVector::center() const
        return _libBornAgainBase.Bin1DKVector_center(self)
    def span(self):
        span(Bin1DKVector self) -> R3
        R3 Bin1DKVector::span() const
        return _libBornAgainBase.Bin1DKVector_span(self)
    m_q_lower = property(_libBornAgainBase.Bin1DKVector_m_q_lower_get, _libBornAgainBase.Bin1DKVector_m_q_lower_set, doc=r"""m_q_lower : R3""")
    m_q_upper = property(_libBornAgainBase.Bin1DKVector_m_q_upper_get, _libBornAgainBase.Bin1DKVector_m_q_upper_set, doc=r"""m_q_upper : R3""")
    __swig_destroy__ = _libBornAgainBase.delete_Bin1DKVector
# Register Bin1DKVector in _libBornAgainBase:
_libBornAgainBase.Bin1DKVector_swigregister(Bin1DKVector)
class Bin1DCVector(object):
    r"""
    An one-dimensional range of C3's.
    C++ includes: Bin.h
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        __init__(Bin1DCVector self) -> Bin1DCVector
        __init__(Bin1DCVector self, C3 lower, C3 upper) -> Bin1DCVector
        __init__(Bin1DCVector self, double wavelength, Bin1D alpha_bin, Bin1D phi_bin) -> Bin1DCVector
        Bin1DCVector::Bin1DCVector(double wavelength, const Bin1D &alpha_bin, const Bin1D &phi_bin)
        creation on  Bin1DCVector from alpha and phi bins 
        _libBornAgainBase.Bin1DCVector_swiginit(self, _libBornAgainBase.new_Bin1DCVector(*args))
    def center(self):
        center(Bin1DCVector self) -> C3
        C3 Bin1DCVector::center() const
        return _libBornAgainBase.Bin1DCVector_center(self)
    def span(self):
        span(Bin1DCVector self) -> C3
        C3 Bin1DCVector::span() const
        return _libBornAgainBase.Bin1DCVector_span(self)
    m_q_lower = property(_libBornAgainBase.Bin1DCVector_m_q_lower_get, _libBornAgainBase.Bin1DCVector_m_q_lower_set, doc=r"""m_q_lower : C3""")
    m_q_upper = property(_libBornAgainBase.Bin1DCVector_m_q_upper_get, _libBornAgainBase.Bin1DCVector_m_q_upper_set, doc=r"""m_q_upper : C3""")
    __swig_destroy__ = _libBornAgainBase.delete_Bin1DCVector

# Register Bin1DCVector in _libBornAgainBase:
_libBornAgainBase.Bin1DCVector_swigregister(Bin1DCVector)

class IAxis(object):
    r"""


Wuttke, Joachim's avatar
Wuttke, Joachim committed
    Abstract base class for one-dimensional axes.

    C++ includes: IAxis.h

    """

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
Wuttke, Joachim's avatar
Wuttke, Joachim committed
    __swig_destroy__ = _libBornAgainBase.delete_IAxis

    def clone(self):
        r"""
        clone(IAxis self) -> IAxis
        virtual IAxis* IAxis::clone() const =0

        """
        return _libBornAgainBase.IAxis_clone(self)

    def setAxisName(self, name):
        setAxisName(IAxis self, std::string name)
        void IAxis::setAxisName(std::string name)
        return _libBornAgainBase.IAxis_setAxisName(self, name)
Wuttke, Joachim's avatar
Wuttke, Joachim committed
    def size(self):
Wuttke, Joachim's avatar
Wuttke, Joachim committed
        size(IAxis self) -> size_t
        virtual size_t IAxis::size() const =0
Wuttke, Joachim's avatar
Wuttke, Joachim committed
        Returns the number of bins. 
Wuttke, Joachim's avatar
Wuttke, Joachim committed
        return _libBornAgainBase.IAxis_size(self)
        lowerBound(IAxis self) -> double
        virtual double IAxis::lowerBound() const =0

        Returns value of first point of axis. 

        """
        return _libBornAgainBase.IAxis_lowerBound(self)
        upperBound(IAxis self) -> double
        virtual double IAxis::upperBound() const =0

        Returns value of last point of axis. 

        """
        return _libBornAgainBase.IAxis_upperBound(self)
Matthias Puchner's avatar
Matthias Puchner committed
    def bounds(self):
        r"""
        bounds(IAxis self) -> pvacuum_double_t
        std::pair< double, double > IAxis::bounds() const

        Returns lower and upper bound in a pair. first is lower, second is upper. 

        """
Matthias Puchner's avatar
Matthias Puchner committed
        return _libBornAgainBase.IAxis_bounds(self)

Wuttke, Joachim's avatar
Wuttke, Joachim committed
    def span(self):
        r"""
        span(IAxis self) -> double
        double IAxis::span() const

        Returns distance from first to last point. 

        """
        return _libBornAgainBase.IAxis_span(self)

    def center(self):
        r"""
        center(IAxis self) -> double
        double IAxis::center() const

        Returns midpoint of axis. 

        """
        return _libBornAgainBase.IAxis_center(self)

    def axisName(self):
        axisName(IAxis self) -> std::string
        std::string IAxis::axisName() const
Wuttke, Joachim's avatar
Wuttke, Joachim committed
        Returns the label of the axis. 
        return _libBornAgainBase.IAxis_axisName(self)
    def binCenters(self):
        binCenters(IAxis self) -> vdouble1d_t
        std::vector< double > IAxis::binCenters() const
        return _libBornAgainBase.IAxis_binCenters(self)
    def binBoundaries(self):
        binBoundaries(IAxis self) -> vdouble1d_t
        std::vector< double > IAxis::binBoundaries() const
        return _libBornAgainBase.IAxis_binBoundaries(self)
Wuttke, Joachim's avatar
Wuttke, Joachim committed
    def bin(self, index):
Wuttke, Joachim's avatar
Wuttke, Joachim committed
        bin(IAxis self, size_t index) -> Bin1D
        virtual Bin1D IAxis::bin(size_t index) const =0
Wuttke, Joachim's avatar
Wuttke, Joachim committed
        retrieve a 1d bin for the given index 
Wuttke, Joachim's avatar
Wuttke, Joachim committed
        return _libBornAgainBase.IAxis_bin(self, index)

    def binCenter(self, index):
        r"""
        binCenter(IAxis self, size_t index) -> double
        virtual double IAxis::binCenter(size_t index) const =0

        """
        return _libBornAgainBase.IAxis_binCenter(self, index)

    def findClosestIndex(self, value):
        r"""
        findClosestIndex(IAxis self, double value) -> size_t
        virtual size_t IAxis::findClosestIndex(double value) const =0

        find bin index which is best match for given value 

        """
        return _libBornAgainBase.IAxis_findClosestIndex(self, value)

    def contains(self, value):
        r"""
        contains(IAxis self, double value) -> bool
        bool IAxis::contains(double value) const

        Returns true if axis contains given point. 

        """
        return _libBornAgainBase.IAxis_contains(self, value)

Matthias Puchner's avatar
Matthias Puchner committed
    def clip(self, *args):
        r"""
        clip(IAxis self, double lower, double upper)
        clip(IAxis self, pvacuum_double_t bounds)
Wuttke, Joachim's avatar
Wuttke, Joachim committed
        void IAxis::clip(std::pair< double, double > bounds)

        Convenience overload to clip this axis to the given values. bounds.first is lower, bounds.second is upper value. 

Matthias Puchner's avatar
Matthias Puchner committed
        """
        return _libBornAgainBase.IAxis_clip(self, *args)
Wuttke, Joachim's avatar
Wuttke, Joachim committed

    def __eq__(self, right):
        r"""__eq__(IAxis self, IAxis right) -> bool"""
        return _libBornAgainBase.IAxis___eq__(self, right)

    def __ne__(self, right):
        r"""__ne__(IAxis self, IAxis right) -> bool"""
        return _libBornAgainBase.IAxis___ne__(self, right)

# Register IAxis in _libBornAgainBase:
_libBornAgainBase.IAxis_swigregister(IAxis)

class VariableBinAxis(IAxis):
    r"""


    Axis with variable bin size.

    C++ includes: VariableBinAxis.h

    """

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, name, nbins, bin_boundaries):
        r"""
        __init__(VariableBinAxis self, std::string const & name, size_t nbins, vdouble1d_t bin_boundaries) -> VariableBinAxis
        VariableBinAxis::VariableBinAxis(const std::string &name, size_t nbins, const std::vector< double > &bin_boundaries)

        VariableBinAxis constructor.

        Parameters:
        -----------

        name: 
        Axis name

        nbins: 
        number of bins

        bin_boundaries: 
        Array of size nbins+1 containing low-edges for each bin and upper edge of last bin. 

        """
        _libBornAgainBase.VariableBinAxis_swiginit(self, _libBornAgainBase.new_VariableBinAxis(name, nbins, bin_boundaries))
    __swig_destroy__ = _libBornAgainBase.delete_VariableBinAxis

    def clone(self):
        r"""
        clone(VariableBinAxis self) -> VariableBinAxis
        VariableBinAxis * VariableBinAxis::clone() const override

        """
        return _libBornAgainBase.VariableBinAxis_clone(self)

    def size(self):
        r"""
        size(VariableBinAxis self) -> size_t
        size_t VariableBinAxis::size() const override
Wuttke, Joachim's avatar
Wuttke, Joachim committed
        Returns the number of bins. 

        """
        return _libBornAgainBase.VariableBinAxis_size(self)

    def bin(self, index):
        bin(VariableBinAxis self, size_t index) -> Bin1D
        Bin1D VariableBinAxis::bin(size_t index) const override

        retrieve a 1d bin for the given index 

        """
        return _libBornAgainBase.VariableBinAxis_bin(self, index)
        lowerBound(VariableBinAxis self) -> double
        double VariableBinAxis::lowerBound() const override

        Returns value of first point of axis. 

        """
        return _libBornAgainBase.VariableBinAxis_lowerBound(self)
        upperBound(VariableBinAxis self) -> double
        double VariableBinAxis::upperBound() const override

        Returns value of last point of axis. 

        """
        return _libBornAgainBase.VariableBinAxis_upperBound(self)
    def binCenter(self, index):
        binCenter(VariableBinAxis self, size_t index) -> double
        double VariableBinAxis::binCenter(size_t index) const override
        return _libBornAgainBase.VariableBinAxis_binCenter(self, index)

    def findClosestIndex(self, value):
        r"""
        findClosestIndex(VariableBinAxis self, double value) -> size_t
        size_t VariableBinAxis::findClosestIndex(double value) const override

        find bin index which is best match for given value 

        """
        return _libBornAgainBase.VariableBinAxis_findClosestIndex(self, value)

    def binCenters(self):
        binCenters(VariableBinAxis self) -> vdouble1d_t
        std::vector< double > VariableBinAxis::binCenters() const override
        return _libBornAgainBase.VariableBinAxis_binCenters(self)
    def binBoundaries(self):
        binBoundaries(VariableBinAxis self) -> vdouble1d_t
        std::vector<double> VariableBinAxis::binBoundaries() const override
        return _libBornAgainBase.VariableBinAxis_binBoundaries(self)
Matthias Puchner's avatar
Matthias Puchner committed
    def clip(self, lower, upper):
        r"""
        clip(VariableBinAxis self, double lower, double upper)
        void VariableBinAxis::clip(double lower, double upper) override

        Clips this axis to the given values. 

        """
Matthias Puchner's avatar
Matthias Puchner committed
        return _libBornAgainBase.VariableBinAxis_clip(self, lower, upper)

    def __getitem__(self, i):
        r"""__getitem__(VariableBinAxis self, unsigned int i) -> double"""
        return _libBornAgainBase.VariableBinAxis___getitem__(self, i)

# Register VariableBinAxis in _libBornAgainBase:
_libBornAgainBase.VariableBinAxis_swigregister(VariableBinAxis)

class ConstKBinAxis(VariableBinAxis):
    r"""


    Axis with fixed bin size in sin(angle) space.

    C++ includes: ConstKBinAxis.h

    """

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, name, nbins, start, end):
        r"""
        __init__(ConstKBinAxis self, std::string const & name, size_t nbins, double start, double end) -> ConstKBinAxis
        ConstKBinAxis::ConstKBinAxis(const std::string &name, size_t nbins, double start, double end)

        ConstKBinAxis constructor.

        Parameters:
        -----------

        name: 
        Axis name

        nbins: 
        number of bins

        start: 
        low edge of first bin

        end: 
        upper edge of last bin 

        """
        _libBornAgainBase.ConstKBinAxis_swiginit(self, _libBornAgainBase.new_ConstKBinAxis(name, nbins, start, end))
    __swig_destroy__ = _libBornAgainBase.delete_ConstKBinAxis

    def clone(self):
        r"""
        clone(ConstKBinAxis self) -> ConstKBinAxis
        ConstKBinAxis * ConstKBinAxis::clone() const override

        """
        return _libBornAgainBase.ConstKBinAxis_clone(self)

Matthias Puchner's avatar
Matthias Puchner committed
    def clip(self, lower, upper):
        r"""
        clip(ConstKBinAxis self, double lower, double upper)
        void ConstKBinAxis::clip(double lower, double upper) override

        Clips this axis to the given values. 

        """
Matthias Puchner's avatar
Matthias Puchner committed
        return _libBornAgainBase.ConstKBinAxis_clip(self, lower, upper)

# Register ConstKBinAxis in _libBornAgainBase:
_libBornAgainBase.ConstKBinAxis_swigregister(ConstKBinAxis)

class CustomBinAxis(VariableBinAxis):
    r"""


    Axis with fixed bin size in sin(angle) space used for numerical comparison with IsGisaxs. The main feature of the axis is that it produces zero bin sizes.

    C++ includes: CustomBinAxis.h

    """

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, name, nbins, start, end):
        r"""
        __init__(CustomBinAxis self, std::string const & name, size_t nbins, double start, double end) -> CustomBinAxis
        CustomBinAxis::CustomBinAxis(const std::string &name, size_t nbins, double start, double end)

        CustomBinAxis constructor.

        Parameters:
        -----------

        name: 
        Axis name

        nbins: 
        number of bins

        start: 
        center of first bin (IsGisaxs convention)

        end: 
        center of last bin (IsGisaxs convention) 

        """
        _libBornAgainBase.CustomBinAxis_swiginit(self, _libBornAgainBase.new_CustomBinAxis(name, nbins, start, end))
    __swig_destroy__ = _libBornAgainBase.delete_CustomBinAxis

    def clone(self):
        r"""
        clone(CustomBinAxis self) -> CustomBinAxis
        CustomBinAxis * CustomBinAxis::clone() const override

        """
        return _libBornAgainBase.CustomBinAxis_clone(self)

    def bin(self, index):
        bin(CustomBinAxis self, size_t index) -> Bin1D
        Bin1D CustomBinAxis::bin(size_t index) const override

        retrieve a 1d bin for the given index 

        """
        return _libBornAgainBase.CustomBinAxis_bin(self, index)
    def binCenters(self):
        binCenters(CustomBinAxis self) -> vdouble1d_t
        std::vector< double > CustomBinAxis::binCenters() const override
        return _libBornAgainBase.CustomBinAxis_binCenters(self)
Matthias Puchner's avatar
Matthias Puchner committed
    def clip(self, lower, upper):
        r"""
        clip(CustomBinAxis self, double lower, double upper)
        void CustomBinAxis::clip(double lower, double upper) override

        Clips this axis to the given values. 

        """
Matthias Puchner's avatar
Matthias Puchner committed
        return _libBornAgainBase.CustomBinAxis_clip(self, lower, upper)

# Register CustomBinAxis in _libBornAgainBase:
_libBornAgainBase.CustomBinAxis_swigregister(CustomBinAxis)

class FixedBinAxis(IAxis):
    r"""


    Axis with fixed bin size.

    C++ includes: FixedBinAxis.h

    """

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, name, nbins, start, end):
        r"""
        __init__(FixedBinAxis self, std::string const & name, size_t nbins, double start, double end) -> FixedBinAxis
        FixedBinAxis::FixedBinAxis(const std::string &name, size_t nbins, double start, double end)

        FixedBinAxis constructor.

        Parameters:
        -----------

        name: 
        Axis name

        nbins: 
        number of bins

        start: 
        low edge of first bin

        end: 
        upper edge of last bin 

        """
        _libBornAgainBase.FixedBinAxis_swiginit(self, _libBornAgainBase.new_FixedBinAxis(name, nbins, start, end))
    __swig_destroy__ = _libBornAgainBase.delete_FixedBinAxis

    def clone(self):
        r"""
        clone(FixedBinAxis self) -> FixedBinAxis
        FixedBinAxis * FixedBinAxis::clone() const override

        """
        return _libBornAgainBase.FixedBinAxis_clone(self)

    def size(self):
        r"""
        size(FixedBinAxis self) -> size_t
        size_t FixedBinAxis::size() const override
Wuttke, Joachim's avatar
Wuttke, Joachim committed
        Returns the number of bins. 

        """
        return _libBornAgainBase.FixedBinAxis_size(self)

    def bin(self, index):
        bin(FixedBinAxis self, size_t index) -> Bin1D
        Bin1D FixedBinAxis::bin(size_t index) const override

        retrieve a 1d bin for the given index 

        """
        return _libBornAgainBase.FixedBinAxis_bin(self, index)
        lowerBound(FixedBinAxis self) -> double
        double FixedBinAxis::lowerBound() const override

        Returns value of first point of axis. 

        """
        return _libBornAgainBase.FixedBinAxis_lowerBound(self)
        upperBound(FixedBinAxis self) -> double
        double FixedBinAxis::upperBound() const override

        Returns value of last point of axis. 

        """
        return _libBornAgainBase.FixedBinAxis_upperBound(self)
    def binCenter(self, index):
        binCenter(FixedBinAxis self, size_t index) -> double
        double FixedBinAxis::binCenter(size_t index) const override
        return _libBornAgainBase.FixedBinAxis_binCenter(self, index)

    def findClosestIndex(self, value):
        r"""
        findClosestIndex(FixedBinAxis self, double value) -> size_t
        size_t FixedBinAxis::findClosestIndex(double value) const override

        find bin index which is best match for given value 

        """
        return _libBornAgainBase.FixedBinAxis_findClosestIndex(self, value)

    def binCenters(self):
        binCenters(FixedBinAxis self) -> vdouble1d_t
        std::vector< double > FixedBinAxis::binCenters() const override
        return _libBornAgainBase.FixedBinAxis_binCenters(self)
    def binBoundaries(self):
        binBoundaries(FixedBinAxis self) -> vdouble1d_t
        std::vector< double > FixedBinAxis::binBoundaries() const override
        return _libBornAgainBase.FixedBinAxis_binBoundaries(self)
Matthias Puchner's avatar
Matthias Puchner committed
    def clip(self, lower, upper):
        r"""
        clip(FixedBinAxis self, double lower, double upper)
        void FixedBinAxis::clip(double lower, double upper) override

        Clips this axis to the given values. 

        """
Matthias Puchner's avatar
Matthias Puchner committed
        return _libBornAgainBase.FixedBinAxis_clip(self, lower, upper)

    def __getitem__(self, i):
        r"""__getitem__(FixedBinAxis self, unsigned int i) -> double"""
        return _libBornAgainBase.FixedBinAxis___getitem__(self, i)

# Register FixedBinAxis in _libBornAgainBase:
_libBornAgainBase.FixedBinAxis_swigregister(FixedBinAxis)

    Three-dimensional vector template, for use with integer, double, or complex components.

    C++ includes: BasicVector3D.h

    """

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(R3 self) -> R3
        __init__(R3 self, double const x, double const y, double const z) -> R3
        BasicVector3D< T >::BasicVector3D(const T x, const T y, const T z)
        Constructs a vector from cartesian components. 
        _libBornAgainBase.R3_swiginit(self, _libBornAgainBase.new_R3(*args))
        x(R3 self) -> double
        T BasicVector3D< T >::x() const

        Returns x-component in cartesian coordinate system. 

        """
        return _libBornAgainBase.R3_x(self)
        y(R3 self) -> double
        T BasicVector3D< T >::y() const

        Returns y-component in cartesian coordinate system. 

        """
        return _libBornAgainBase.R3_y(self)
        z(R3 self) -> double
        T BasicVector3D< T >::z() const

        Returns z-component in cartesian coordinate system. 

        """
        return _libBornAgainBase.R3_z(self)

    def setX(self, a):
        r"""
        setX(R3 self, double const & a)
        void BasicVector3D< T >::setX(const T &a)

        Sets x-component in cartesian coordinate system. 

        """
        return _libBornAgainBase.R3_setX(self, a)

    def setY(self, a):
        r"""
        setY(R3 self, double const & a)
        void BasicVector3D< T >::setY(const T &a)

        Sets y-component in cartesian coordinate system. 

        """
        return _libBornAgainBase.R3_setY(self, a)

    def setZ(self, a):
        r"""
        setZ(R3 self, double const & a)
        void BasicVector3D< T >::setZ(const T &a)

        Sets z-component in cartesian coordinate system. 

        """
        return _libBornAgainBase.R3_setZ(self, a)

    def __iadd__(self, v):
        r"""__iadd__(R3 self, R3 v) -> R3"""
        return _libBornAgainBase.R3___iadd__(self, v)

    def __isub__(self, v):
        r"""__isub__(R3 self, R3 v) -> R3"""
        return _libBornAgainBase.R3___isub__(self, v)
        conj(R3 self) -> R3
        BasicVector3D<T> BasicVector3D< T >::conj() const

        Returns complex conjugate vector. 
        return _libBornAgainBase.R3_conj(self)
        mag2(R3 self) -> double
        double BasicVector3D< T >::mag2() const

        Returns magnitude squared of the vector. 

        """
        return _libBornAgainBase.R3_mag2(self)
        mag(R3 self) -> double
        double BasicVector3D< T >::mag() const

        Returns magnitude of the vector. 

        """
        return _libBornAgainBase.R3_mag(self)
        magxy2(R3 self) -> double
        double BasicVector3D< T >::magxy2() const

        Returns squared distance from z axis. 

        """
        return _libBornAgainBase.R3_magxy2(self)
        magxy(R3 self) -> double
        double BasicVector3D< T >::magxy() const

        Returns distance from z axis. 

        """
        return _libBornAgainBase.R3_magxy(self)
        phi(R3 self) -> double
        double BasicVector3D< T >::phi() const

        Returns azimuth angle. 
        return _libBornAgainBase.R3_phi(self)
        theta(R3 self) -> double
        double BasicVector3D< T >::theta() const

        Returns polar angle. 
        return _libBornAgainBase.R3_theta(self)
        cosTheta(R3 self) -> double
        double BasicVector3D< T >::cosTheta() const

        Returns cosine of polar angle. 
        return _libBornAgainBase.R3_cosTheta(self)

    def sin2Theta(self):
        r"""
        sin2Theta(R3 self) -> double
        double BasicVector3D< T >::sin2Theta() const

        Returns squared sine of polar angle. 
        return _libBornAgainBase.R3_sin2Theta(self)
        unit(R3 self) -> R3
        BasicVector3D<T> BasicVector3D< T >::unit() const

        Returns unit vector in direction of this. Throws for null vector. 
        return _libBornAgainBase.R3_unit(self)
        complex(R3 self) -> C3
        BasicVector3D<complex_t> BasicVector3D< T >::complex() const

        Returns this, trivially converted to complex type. 
        return _libBornAgainBase.R3_complex(self)
        real(R3 self) -> R3
        BasicVector3D<double> BasicVector3D< T >::real() const

        Returns real parts. 
        return _libBornAgainBase.R3_real(self)
        angle(R3 self, R3 v) -> double
        double BasicVector3D< T >::angle(const BasicVector3D< T > &v) const

        Returns angle with respect to another vector. 
        return _libBornAgainBase.R3_angle(self, v)

    def project(self, v):
        r"""
        project(R3 self, R3 v) -> R3
        BasicVector3D<T> BasicVector3D< T >::project(const BasicVector3D< T > &v) const

        Returns projection of this onto other vector: (this*v)*v/|v|^2.