# WinProp_SuperposeMS

## Function List

- WinProp_SuperposeMS::WinProp_SuperposeMS
- Default constructor
- WinProp_SuperposeMS::~WinProp_SuperposeMS
- Destructor
- WinProp_SuperposeMS::setArray
- Sets an antenna array.
- WinProp_SuperposeMS::setArrayElement
- Sets antenna array element
- WinProp_SuperposeMS::setPropagationArea
- Sets propagation input for the specified transmitting antenna. In case an array of type WINPROP_MS_ARRAY_INDIVIDUAL has been specified, a propagation result per array element is required. This method switches the computation mode to area wide computation, any other input propagation is removed.
- WinProp_SuperposeMS::setPropagationPlanes
- Sets propagation input for the specified transmitting antenna. In case an array of type WINPROP_MS_ARRAY_INDIVIDUAL has been specified, a propagation result per array element is required. This method switches the computation mode to the computation of arbitrary planes, any other input propagation is removed.
- WinProp_SuperposeMS::setPropagationPoints
- Sets propagation input for the specified transmitting antenna. In case an array of type WINPROP_MS_ARRAY_INDIVIDUAL has been specified, a propagation result per array element is required. This method switches the computation mode to the computation of individual points, any other input propagation is removed.
- WinProp_SuperposeMS::setPropagationTrajectories
- Sets propagation input for the specified transmitting antenna. In case an array of type WINPROP_MS_ARRAY_INDIVIDUAL has been specified, a propagation result per array element is required. This method switches the computation mode to the computation of trajectories, any other input propagation is removed.
- WinProp_SuperposeMS::compute
- Computes the superposition using the specified arrays and elements, based on the set propagation inputs.
- WinProp_SuperposeMS::getResultArea
- Gets the results of an area wide computation.
- WinProp_SuperposeMS::getResultPlane
- Gets the results of a computation on arbitrary planes.
- WinProp_SuperposeMS::getResultPoints
- Gets the results of a point based computation.

## Function Details

- WinProp_SuperposeMS()

Default constructor**Description****Parameters****Returns**None- ~WinProp_SuperposeMS()

Destructor**Description****Parameters****Returns**None- int setArray(bool Rx, WINPROP_MS_ARRAY_TYPE arrayType, int nrElements, float azimuth, float spacing, float radius, bool considerAntennaCoupling)

Sets an antenna array.**Description****Parameters**- bool Rx
- True to receiver array, false for transmitter array.
- WINPROP_MS_ARRAY_TYPE arrayType
- Type of the array.
- int nrElements
- The number of array elements.
- float azimuth
- The array azimuth in degree (values between [0, 360]).
- float spacing
- The array spacing in horizontal plane (k*Lambda), only relevant in case of arrayType set to WINPROP_MS_ARRAY_LINEAR.
- float radius
- The array radius of circular array in meter, only relevant in case of arrayType set to WINPROP_MS_ARRAY_CIRCULAR.
- bool considerAntennaCoupling
- True to consider antenna coupling.

**Returns**An integer: 0 = success, failure otherwise.- int setArrayElement(bool Rx, int index, const WinProp_Pattern * pattern, const WinProp_Pattern * patternPolHoriz, float azimuth, float tilt, WINPROP_MS_POLARIZATION_TYPE polarization, const COORDPOINT & offset)

Sets antenna array element**Description****Parameters**- bool Rx
- True to receiver element, false for transmitter element.
- int index
- Zero-based index of the element to set.
- const WinProp_Pattern * pattern
- Specifies the antenna pattern of the element.
- const WinProp_Pattern * patternPolHoriz
- Specifies the antenna pattern for horizontal polarization, needed for full polarimetric computations.
- float azimuth
- The element azimuth in degree (values between [0, 360], with east=0deg over north=90deg orientation).
- float tilt
- The element tilt in degree (values between [0, 180], a value of 90deg is equal to horizontal).
- WINPROP_MS_POLARIZATION_TYPE polarization
- The polarization of the antenna, in case patternPolHoriz is set to nullptr.
- const COORDPOINT & offset
- The offset of an individual receiving antenna element, only relevant for array of type WINPROP_MS_ARRAY_INDIVIDUAL.

**Returns**An integer: 0 = success, failure otherwise.- int setPropagationArea(int trxIndex, const WinProp_Antenna & antenna, const WinProp_RayMatrix & rayMatrix)

Sets propagation input for the specified transmitting antenna. In case an array of type WINPROP_MS_ARRAY_INDIVIDUAL has been specified, a propagation result per array element is required. This method switches the computation mode to area wide computation, any other input propagation is removed.**Description****Parameters**- int trxIndex
- Zero-based index of the transmitting element.
- const WinProp_Antenna & antenna
- The antenna.
- const WinProp_RayMatrix & rayMatrix
- The ray matrix.

**Returns**An integer: 0 = success, failure otherwise.- int setPropagationPlanes(int trxIndex, const WinProp_Antenna & antenna, const WinProp_RayMatrixList & rayMatrices)

Sets propagation input for the specified transmitting antenna. In case an array of type WINPROP_MS_ARRAY_INDIVIDUAL has been specified, a propagation result per array element is required. This method switches the computation mode to the computation of arbitrary planes, any other input propagation is removed.**Description****Parameters**- int trxIndex
- Zero-based index of the transmitting element.
- const WinProp_Antenna & antenna
- The antenna.
- const WinProp_RayMatrixList & rayMatrices
- The ray matrices for the planes.

**Returns**An integer: 0 = success, failure otherwise.- int setPropagationPoints(int trxIndex, const WinProp_Antenna & antenna, const WinProp_ResultPointsList & resPoints)

Sets propagation input for the specified transmitting antenna. In case an array of type WINPROP_MS_ARRAY_INDIVIDUAL has been specified, a propagation result per array element is required. This method switches the computation mode to the computation of individual points, any other input propagation is removed.**Description****Parameters**- int trxIndex
- Zero-based index of the transmitting element.
- const WinProp_Antenna & antenna
- The antenna.
- const WinProp_ResultPointsList & resPoints
- The point results.

**Returns**An integer: 0 = success, failure otherwise.- int setPropagationTrajectories(int trxIndex, const WinProp_Antenna & antenna, const WinProp_Trajectory * trajectories, const int nrTrajectories, const WinProp_ResultTrajectoryList & resultTrajectories)

Sets propagation input for the specified transmitting antenna. In case an array of type WINPROP_MS_ARRAY_INDIVIDUAL has been specified, a propagation result per array element is required. This method switches the computation mode to the computation of trajectories, any other input propagation is removed.**Description****Parameters**- int trxIndex
- Zero-based index of the transmitting element.
- const WinProp_Antenna & antenna
- The antenna.
- const WinProp_Trajectory * trajectories
- The trajectories, an array of size nrTrajectories.
- const int nrTrajectories
- The number of trajectories.
- const WinProp_ResultTrajectoryList & resultTrajectories
- The trajectory results, needs to be of same size as trajectories.

**Returns**An integer: 0 = success, failure otherwise.- int compute(const WinProp_MS_Para & msPara, const WinProp_MS_AdditionalResults * msAdditionalResult, const WinProp_Callback * callbacks)

Computes the superposition using the specified arrays and elements, based on the set propagation inputs.**Description****Parameters**- const WinProp_MS_Para & msPara
- The parameters of the computation.
- const WinProp_MS_AdditionalResults * msAdditionalResult
- Optionally, specifies which additional results shall be written to files during the computation.
- const WinProp_Callback * callbacks
- If non-null, the callbacks to be used.

**Returns**An integer: 0 = success, failure otherwise.- int getResultArea(int resultType, WinProp_Result * result, WinProp_RayMatrix * rayMatrix)

Gets the results of an area wide computation.**Description****Parameters**- int resultType
- Type of the result.
- WinProp_Result * result
- If non-null, the result.
- WinProp_RayMatrix * rayMatrix
- If non-null, the ray matrix.

**Returns**An integer: 0 = success, failure otherwise.- int getResultPlane(int resultType, WinProp_ResultPlane * result, WinProp_RayMatrix * rayMatrix)

Gets the results of a computation on arbitrary planes.**Description****Parameters**- int resultType
- Type of the result.
- WinProp_ResultPlane * result
- If non-null, the result.
- WinProp_RayMatrix * rayMatrix
- If non-null, the ray matrix.

**Returns**An integer: 0 = success, failure otherwise.- int getResultPoints(int resultType, WinProp_ResultPointsList * result)

Gets the results of a point based computation.**Description****Parameters**- int resultType
- Type of the result.
- WinProp_ResultPointsList * result
- Non-null, the result.

**Returns**An integer: 0 = success, failure otherwise.

- source.eng/SuperposeMS/winprop_superposems.hpp