Module sscws.outputoptions

Module defining classes to represent output options from https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd.

Copyright © 2013-2023 United States Government as represented by the National Aeronautics and Space Administration. No copyright is claimed in the United States under Title 17, U.S.Code. All Other Rights Reserved.

Expand source code
#!/usr/bin/env python3

#
# NOSA HEADER START
#
# The contents of this file are subject to the terms of the NASA Open
# Source Agreement (NOSA), Version 1.3 only (the "Agreement").  You may
# not use this file except in compliance with the Agreement.
#
# You can obtain a copy of the agreement at
#   docs/NASA_Open_Source_Agreement_1.3.txt
# or
#   https://sscweb.gsfc.nasa.gov/WebServices/NASA_Open_Source_Agreement_1.3.txt.
#
# See the Agreement for the specific language governing permissions
# and limitations under the Agreement.
#
# When distributing Covered Code, include this NOSA HEADER in each
# file and include the Agreement file at
# docs/NASA_Open_Source_Agreement_1.3.txt.  If applicable, add the
# following below this NOSA HEADER, with the fields enclosed by
# brackets "[]" replaced with your own identifying information:
# Portions Copyright [yyyy] [name of copyright owner]
#
# NOSA HEADER END
#
# Copyright (c) 2013-2023 United States Government as represented by
# the National Aeronautics and Space Administration. No copyright is
# claimed in the United States under Title 17, U.S.Code. All Other
# Rights Reserved.
#

"""
Module defining classes to represent output options from
<https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd>.<br>

Copyright &copy; 2013-2023 United States Government as represented by the
National Aeronautics and Space Administration. No copyright is claimed in
the United States under Title 17, U.S.Code. All Other Rights Reserved.
"""

# pylint: disable=too-many-lines

import xml.etree.ElementTree as ET
from typing import List

from sscws.coordinates import CoordinateSystem, CoordinateComponent
from sscws.regions import Hemisphere


class CoordinateOptions:
    """
    Class representing a CoordinateOptions from
    <https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd>.

    Parameters
    ----------
    coordinate_system
        Coordinate system.
    component
        Coordinate system component.
    """
    def __init__(self,
                 coordinate_system: CoordinateSystem,
                 component: CoordinateComponent):

        self._coordinate_system = coordinate_system
        self._component = component


    @property
    def coordinate_system(self) -> CoordinateSystem:
        """
        Gets the coordinate_system value.

        Returns
        -------
        str
            coordinate_system value.
        """
        return self._coordinate_system


    @coordinate_system.setter
    def coordinate_system(self, value: CoordinateSystem):
        """
        Sets the coordinate_system value.

        Parameters
        ----------
        value
            coordinate_system value.
        """
        self._coordinate_system = value


    @property
    def component(self) -> CoordinateComponent:
        """
        Gets the component value.

        Returns
        -------
        str
            component value.
        """
        return self._component


    @component.setter
    def component(self, value: CoordinateComponent):
        """
        Sets the component value.

        Parameters
        ----------
        value
            component value.
        """
        self._component = value


    def xml_element(self) -> ET:
        """
        Produces the XML Element representation of this object.

        Returns
        -------
        ET
            XML Element represenation of this object.
        """
        builder = ET.TreeBuilder()

        builder.start('CoordinateOptions', {})
        builder.start('CoordinateSystem', {})
        builder.data(self._coordinate_system.value)
        builder.end('CoordinateSystem')
        builder.start('Component', {})
        builder.data(self._component.value)
        builder.end('Component')
        builder.end('CoordinateOptions')

        return builder.close()


class LocationFilter:
    """
    Class representing a LocationFilter from
    <https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd>.

    Parameters
    ----------
    lower_limit
        Specifies the lower limit of values that are to be included in
        the listing.  The value is kilometer or degrees as applicable.
    upper_limit
        Specifies the upper limit of values that are to be included in
        the listing.  The value is kilometer or degrees as applicable.
    minimum
        Specifies whether the minimum value is to be marked by a "v"
        in the listing.  If None, default is False.
    maximum
        Specifies whether the maximum value is to be marked by a "v"
        in the listing.  If None, default is False.
    """
    def __init__(self,
                 lower_limit: float,
                 upper_limit: float,
                 minimum: bool = None,
                 maximum: bool = None):

        if minimum is None:
            self._minimum = False
        else:
            self._minimum = minimum

        if maximum is None:
            self._maximum = False
        else:
            self._maximum = maximum

        self._lower_limit = lower_limit
        self._upper_limit = upper_limit


    @property
    def minimum(self) -> bool:
        """
        Gets the minimum value.

        Returns
        -------
        str
            minimum value.
        """
        return self._minimum


    @minimum.setter
    def minimum(self, value: bool):
        """
        Sets the minimum value.

        Parameters
        ----------
        value
            minimum value.
        """
        self._minimum = value


    @property
    def maximum(self) -> bool:
        """
        Gets the maximum value.

        Returns
        -------
        str
            maximum value.
        """
        return self._maximum


    @maximum.setter
    def maximum(self, value: bool):
        """
        Sets the maximum value.

        Parameters
        ----------
        value
            maximum value.
        """
        self._maximum = value


    @property
    def lower_limit(self) -> float:
        """
        Gets the lower_limit value.

        Returns
        -------
        str
            lower_limit value.
        """
        return self._lower_limit


    @lower_limit.setter
    def lower_limit(self, value: float):
        """
        Sets the lower_limit value.

        Parameters
        ----------
        value
            lower_limit value.
        """
        self._lower_limit = value


    @property
    def upper_limit(self) -> float:
        """
        Gets the upper_limit value.

        Returns
        -------
        str
            upper_limit value.
        """
        return self._upper_limit


    @upper_limit.setter
    def upper_limit(self, value: float):
        """
        Sets the upper_limit value.

        Parameters
        ----------
        value
            upper_limit value.
        """
        self._upper_limit = value


    def xml_element(self,
                    name: str) -> ET:
        """
        Produces the XML Element representation of this object.

        Parameters
        ----------
        name
            Name of this LocationFilter.

        Returns
        -------
        ET
            XML Element represenation of this object.
        """
        builder = ET.TreeBuilder()

        builder.start(name, {})
        builder.start('Minimum', {})
        builder.data(str(self._minimum).lower())
        builder.end('Minimum')
        builder.start('Maximum', {})
        builder.data(str(self._maximum).lower())
        builder.end('Maximum')
        builder.start('LowerLimit', {})
        builder.data(str(self._lower_limit))
        builder.end('LowerLimit')
        builder.start('UpperLimit', {})
        builder.data(str(self._upper_limit))
        builder.end('UpperLimit')
        builder.end(name)

        return builder.close()


class FilteredCoordinateOptions(CoordinateOptions):
    """
    Class representing a FilteredCoordinateOptions from
    <https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd>.

    Parameters
    ----------
    coordinate_system
        Coordinate system.
    component
        Coordinate system component.
    location_filter
        Location filter listing options.
    """
    def __init__(self,
                 coordinate_system: CoordinateSystem,
                 component: CoordinateComponent,
                 location_filter: LocationFilter = None):

        super().__init__(coordinate_system, component)
        self._location_filter = location_filter


    @property
    def location_filter(self) -> LocationFilter:
        """
        Gets the location_filter value.

        Returns
        -------
        str
            location_filter value.
        """
        return self._location_filter


    @location_filter.setter
    def location_filter(self, value: LocationFilter):
        """
        Sets the location_filter value.

        Parameters
        ----------
        value
            location_filter value.
        """
        self._location_filter = value


    def xml_element(self) -> ET:
        """
        Produces the XML Element representation of this object.

        Returns
        -------
        ET
            XML Element represenation of this object.
        """
        xml_element = super().xml_element()

        if self._location_filter is not None:
            xml_element.append(self._location_filter.xml_element())

        return xml_element


class RegionOptions:
    """
    Class representing a RegionOptions from
    <https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd>.

    Parameters
    ----------
    spacecraft
        Specifies whether the spacecraft regions are to be included
        in the listing.  If None, default is False.
    radial_traced_footpoint
        Specifies whether the radial traced footpoint values are to be
        included in the listing.  If None, default is False.
    north_b_traced_footpoint
        Specifies the north B-field traced footpoint values that are
        to be included in the listing.  If None, default is False.
    south_b_traced_footpoint
        Specifies the south B-field traced footpoint values that are
        to be included in the listing.  If None, default is False.
    """
    def __init__(self,
                 spacecraft: bool = None,
                 radial_traced_footpoint: bool = None,
                 north_b_traced_footpoint: bool = None,
                 south_b_traced_footpoint: bool = None):

        if spacecraft is None:
            self._spacecraft = False
        else:
            self._spacecraft = spacecraft

        if radial_traced_footpoint is None:
            self._radial_traced_footpoint = False
        else:
            self._radial_traced_footpoint = radial_traced_footpoint

        if north_b_traced_footpoint is None:
            self._north_b_traced_footpoint = False
        else:
            self._north_b_traced_footpoint = north_b_traced_footpoint

        if south_b_traced_footpoint is None:
            self._south_b_traced_footpoint = False
        else:
            self._south_b_traced_footpoint = south_b_traced_footpoint


    @property
    def spacecraft(self) -> bool:
        """
        Gets the spacecraft value.

        Returns
        -------
        str
            spacecraft value.
        """
        return self._spacecraft


    @spacecraft.setter
    def spacecraft(self, value: bool):
        """
        Sets the spacecraft value.

        Parameters
        ----------
        value
            spacecraft value.
        """
        self._spacecraft = value


    @property
    def radial_traced_footpoint(self) -> bool:
        """
        Gets the radial_traced_footpoint value.

        Returns
        -------
        str
            radial_traced_footpoint value.
        """
        return self._radial_traced_footpoint


    @radial_traced_footpoint.setter
    def radial_traced_footpoint(self, value: bool):
        """
        Sets the radial_traced_footpoint value.

        Parameters
        ----------
        value
            radial_traced_footpoint value.
        """
        self._radial_traced_footpoint = value


    @property
    def north_b_traced_footpoint(self) -> bool:
        """
        Gets the north_b_traced_footpoint value.

        Returns
        -------
        str
            north_b_traced_footpoint value.
        """
        return self._north_b_traced_footpoint


    @north_b_traced_footpoint.setter
    def north_b_traced_footpoint(self, value: bool):
        """
        Sets the north_b_traced_footpoint value.

        Parameters
        ----------
        value
            north_b_traced_footpoint value.
        """
        self._north_b_traced_footpoint = value


    @property
    def south_b_traced_footpoint(self) -> bool:
        """
        Gets the south_b_traced_footpoint value.

        Returns
        -------
        str
            south_b_traced_footpoint value.
        """
        return self._south_b_traced_footpoint


    @south_b_traced_footpoint.setter
    def south_b_traced_footpoint(self, value: bool):
        """
        Sets the south_b_traced_footpoint value.

        Parameters
        ----------
        value
            south_b_traced_footpoint value.
        """
        self._south_b_traced_footpoint = value


    def xml_element(
            self
        ) -> ET:
        """
        Produces the XML Element representation of this object.

        Returns
        -------
        ET
            XML Element represenation of this object.
        """
        builder = ET.TreeBuilder()

        builder.start('RegionOptions', {})
        builder.start('Spacecraft', {})
        builder.data(str(self._spacecraft).lower())
        builder.end('Spacecraft')
        builder.start('RadialTracedFootpoint', {})
        builder.data(str(self._radial_traced_footpoint).lower())
        builder.end('RadialTracedFootpoint')
        builder.start('NorthBTracedFootpoint', {})
        builder.data(str(self._north_b_traced_footpoint).lower())
        builder.end('NorthBTracedFootpoint')
        builder.start('SouthBTracedFootpoint', {})
        builder.data(str(self._south_b_traced_footpoint).lower())
        builder.end('SouthBTracedFootpoint')
        builder.end('RegionOptions')

        return builder.close()


class ValueOptions:
    """
    Class representing a ValueOptions from
    <https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd>.

    Parameters
    ----------
    radial_distance
        Specifies whether the radial distance values are to be included
        in the listing.  If None, default is False.
    b_field_strength
        Specifies whether the B field strength values are to be
        included in the listing.  If None, default is False.
    dipole_l_value
        Specifies whether the dipole L values that are
        to be included in the listing.  If None, default is False.
    dipole_inv_lat
        Specifies whether the dipole invariant latitude values that
        are to be included in the listing.  If None, default is False.
    """
    def __init__(self,
                 radial_distance: bool = None,
                 b_field_strength: bool = None,
                 dipole_l_value: bool = None,
                 dipole_inv_lat: bool = None):

        if radial_distance is None:
            self._radial_distance = False
        else:
            self._radial_distance = radial_distance

        if b_field_strength is None:
            self._b_field_strength = False
        else:
            self._b_field_strength = b_field_strength

        if dipole_l_value is None:
            self._dipole_l_value = False
        else:
            self._dipole_l_value = dipole_l_value

        if dipole_inv_lat is None:
            self._dipole_inv_lat = False
        else:
            self._dipole_inv_lat = dipole_inv_lat


    @property
    def radial_distance(self) -> bool:
        """
        Gets the radial_distance value.

        Returns
        -------
        str
            radial_distance value.
        """
        return self._radial_distance


    @radial_distance.setter
    def radial_distance(self, value: bool):
        """
        Sets the radial_distance value.

        Parameters
        ----------
        value
            radial_distance value.
        """
        self._radial_distance = value


    @property
    def b_field_strength(self) -> bool:
        """
        Gets the b_field_strength value.

        Returns
        -------
        str
            b_field_strength value.
        """
        return self._b_field_strength


    @b_field_strength.setter
    def b_field_strength(self, value: bool):
        """
        Sets the b_field_strength value.

        Parameters
        ----------
        value
            b_field_strength value.
        """
        self._b_field_strength = value


    @property
    def dipole_l_value(self) -> bool:
        """
        Gets the dipole_l_value value.

        Returns
        -------
        str
            dipole_l_value value.
        """
        return self._dipole_l_value


    @dipole_l_value.setter
    def dipole_l_value(self, value: bool):
        """
        Sets the dipole_l_value value.

        Parameters
        ----------
        value
            dipole_l_value value.
        """
        self._dipole_l_value = value


    @property
    def dipole_inv_lat(self) -> bool:
        """
        Gets the dipole_inv_lat value.

        Returns
        -------
        str
            dipole_inv_lat value.
        """
        return self._dipole_inv_lat


    @dipole_inv_lat.setter
    def dipole_inv_lat(self, value: bool):
        """
        Sets the dipole_inv_lat value.

        Parameters
        ----------
        value
            dipole_inv_lat value.
        """
        self._dipole_inv_lat = value


    def xml_element(self) -> ET:
        """
        Produces the XML Element representation of this object.

        Returns
        -------
        ET
            XML Element represenation of this object.
        """
        builder = ET.TreeBuilder()

        builder.start('ValueOptions', {})
        builder.start('RadialDistance', {})
        builder.data(str(self._radial_distance).lower())
        builder.end('RadialDistance')
        builder.start('BFieldStrength', {})
        builder.data(str(self._b_field_strength).lower())
        builder.end('BFieldStrength')
        builder.start('DipoleLValue', {})
        builder.data(str(self._dipole_l_value).lower())
        builder.end('DipoleLValue')
        builder.start('DipoleInvLat', {})
        builder.data(str(self._dipole_inv_lat).lower())
        builder.end('DipoleInvLat')
        builder.end('ValueOptions')

        return builder.close()


class DistanceFromOptions:
    """
    Class representing a DistanceFromOptions from
    <https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd>.

    Parameters
    ----------
    neutral_sheet
        Specifies whether the distance to the neutral sheet values are
        to be included in the listing.  If None, default is False.
    bow_shock
        Specifies whether the distance to the bow shock values are to
        be included in the listing.  If None, default is False.
    m_pause
        Specifies whether the distance to the magneto pause values that
        are to be included in the listing.  If None, default is False.
    b_gse_xyz
        Specifies whether the magnetic field strength in the GSE XYZ
        directions that are to be included in the listing.  If None,
        default is False.
    """
    def __init__(self,
                 neutral_sheet: bool = None,
                 bow_shock: bool = None,
                 m_pause: bool = None,
                 b_gse_xyz: bool = None):

        if neutral_sheet is None:
            self._neutral_sheet = False
        else:
            self._neutral_sheet = neutral_sheet

        if bow_shock is None:
            self._bow_shock = False
        else:
            self._bow_shock = bow_shock

        if m_pause is None:
            self._m_pause = False
        else:
            self._m_pause = m_pause

        if b_gse_xyz is None:
            self._b_gse_xyz = False
        else:
            self._b_gse_xyz = b_gse_xyz


    @property
    def neutral_sheet(self) -> bool:
        """
        Gets the neutral_sheet value.

        Returns
        -------
        str
            neutral_sheet value.
        """
        return self._neutral_sheet


    @neutral_sheet.setter
    def neutral_sheet(self, value: bool):
        """
        Sets the neutral_sheet value.

        Parameters
        ----------
        value
            neutral_sheet value.
        """
        self._neutral_sheet = value


    @property
    def bow_shock(self) -> bool:
        """
        Gets the bow_shock value.

        Returns
        -------
        str
            bow_shock value.
        """
        return self._bow_shock


    @bow_shock.setter
    def bow_shock(self, value: bool):
        """
        Sets the bow_shock value.

        Parameters
        ----------
        value
            bow_shock value.
        """
        self._bow_shock = value


    @property
    def m_pause(self) -> bool:
        """
        Gets the m_pause value.

        Returns
        -------
        str
            m_pause value.
        """
        return self._m_pause


    @m_pause.setter
    def m_pause(self, value: bool):
        """
        Sets the m_pause value.

        Parameters
        ----------
        value
            m_pause value.
        """
        self._m_pause = value


    @property
    def b_gse_xyz(self) -> bool:
        """
        Gets the b_gse_xyz value.

        Returns
        -------
        str
            b_gse_xyz value.
        """
        return self._b_gse_xyz


    @b_gse_xyz.setter
    def b_gse_xyz(self, value: bool):
        """
        Sets the b_gse_xyz value.

        Parameters
        ----------
        value
            b_gse_xyz value.
        """
        self._b_gse_xyz = value


    def xml_element(self) -> ET:
        """
        Produces the XML Element representation of this object.

        Returns
        -------
        ET
            XML Element represenation of this object.
        """
        builder = ET.TreeBuilder()

        builder.start('DistanceFromOptions', {})
        builder.start('NeutralSheet', {})
        builder.data(str(self._neutral_sheet).lower())
        builder.end('NeutralSheet')
        builder.start('BowShock', {})
        builder.data(str(self._bow_shock).lower())
        builder.end('BowShock')
        builder.start('MPause', {})
        builder.data(str(self._m_pause).lower())
        builder.end('MPause')
        builder.start('BGseXYZ', {})
        builder.data(str(self._b_gse_xyz).lower())
        builder.end('BGseXYZ')
        builder.end('DistanceFromOptions')

        return builder.close()


class BFieldTraceOptions:
    """
    Class representing a BFieldTraceOptions from
    <https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd>.

    Parameters
    ----------
    coordinate_system
        Specifies the coordinate system.  If None, default is
        CoordinateSystem.GEO.
    hemisphere
        Specifies the hemisphere.  If None, default is Hemisphere.NORTH.
    footpoint_latitude
        Specifies whether to include footpoint latitude values in the
        listing.
    footpoint_longitude
        Specifies whether to include footpoint longitude values in the
        listing.
    field_line_length
        Specifies whether to include field line length values in the
        listing.
    """
    def __init__(self,
                 coordinate_system: bool = None,
                 hemisphere: Hemisphere = None,
                 footpoint_latitude: bool = None,
                 footpoint_longitude: bool = None,
                 field_line_length: bool = None
                 ):  # pylint: disable=too-many-arguments

        if coordinate_system is None:
            self._coordinate_system = CoordinateSystem.GEO
        else:
            self._coordinate_system = coordinate_system

        if hemisphere is None:
            self._hemisphere = Hemisphere.NORTH
        else:
            self._hemisphere = hemisphere

        if footpoint_latitude is None:
            self._footpoint_latitude = False
        else:
            self._footpoint_latitude = footpoint_latitude

        if footpoint_longitude is None:
            self._footpoint_longitude = False
        else:
            self._footpoint_longitude = footpoint_longitude

        if field_line_length is None:
            self._field_line_length = False
        else:
            self._field_line_length = field_line_length


    @property
    def coordinate_system(self) -> bool:
        """
        Gets the coordinate_system value.

        Returns
        -------
        str
            coordinate_system value.
        """
        return self._coordinate_system


    @coordinate_system.setter
    def coordinate_system(self, value: bool):
        """
        Sets the coordinate_system value.

        Parameters
        ----------
        value
            coordinate_system value.
        """
        self._coordinate_system = value


    @property
    def hemisphere(self) -> Hemisphere:
        """
        Gets the hemisphere value.

        Returns
        -------
        str
            hemisphere value.
        """
        return self._hemisphere


    @hemisphere.setter
    def hemisphere(self, value: Hemisphere):
        """
        Sets the hemisphere value.

        Parameters
        ----------
        value
            hemisphere value.
        """
        self._hemisphere = value


    @property
    def footpoint_latitude(self) -> bool:
        """
        Gets the footpoint_latitude value.

        Returns
        -------
        str
            footpoint_latitude value.
        """
        return self._footpoint_latitude


    @footpoint_latitude.setter
    def footpoint_latitude(self, value: bool):
        """
        Sets the footpoint_latitude value.

        Parameters
        ----------
        value
            footpoint_latitude value.
        """
        self._footpoint_latitude = value


    @property
    def footpoint_longitude(self) -> bool:
        """
        Gets the footpoint_longitude value.

        Returns
        -------
        str
            footpoint_longitude value.
        """
        return self._footpoint_longitude


    @footpoint_longitude.setter
    def footpoint_longitude(self, value: bool):
        """
        Sets the footpoint_longitude value.

        Parameters
        ----------
        value
            footpoint_longitude value.
        """
        self._footpoint_longitude = value


    @property
    def field_line_length(self) -> bool:
        """
        Gets the field_line_length value.

        Returns
        -------
        str
            field_line_length value.
        """
        return self._field_line_length


    @field_line_length.setter
    def field_line_length(self, value: bool):
        """
        Sets the field_line_length value.

        Parameters
        ----------
        value
            field_line_length value.
        """
        self._field_line_length = value


    def xml_element(self) -> ET:
        """
        Produces the XML Element representation of this object.

        Returns
        -------
        ET
            XML Element represenation of this object.
        """
        builder = ET.TreeBuilder()

        builder.start('BFieldTraceOptions', {})
        builder.start('CoordinateSystem', {})
        builder.data(self._coordinate_system.value)
        builder.end('CoordinateSystem')
        builder.start('Hemisphere', {})
        builder.data(self._hemisphere.value)
        builder.end('Hemisphere')
        builder.start('FootpointLatitude', {})
        builder.data(str(self._footpoint_latitude).lower())
        builder.end('FootpointLatitude')
        builder.start('FootpointLongitude', {})
        builder.data(str(self._footpoint_longitude).lower())
        builder.end('FootpointLongitude')
        builder.start('FieldLineLength', {})
        builder.data(str(self._field_line_length).lower())
        builder.end('FieldLineLength')
        builder.end('BFieldTraceOptions')

        return builder.close()


class OutputOptions:
    """
    Class representing a OutputOptions from
    <https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd>.

    Parameters
    ----------
    coordinate_options
        Coordinate options.
    all_location_filters
        All location filters flag.  If None, default is True.
    min_max_points
        Minimum/Maximum number of points.  If None, default is 2.
    region_options
        Region options.
    value_options
        Value options.
    distance_from_options
        Distance-from options.
    b_field_trace_options
        B-field trace options.
    """
    def __init__(self,
                 coordinate_options: List[FilteredCoordinateOptions],
                 all_location_filters: bool = None,
                 min_max_points: int = None,
                 region_options: RegionOptions = None,
                 value_options: ValueOptions = None,
                 distance_from_options: DistanceFromOptions = None,
                 b_field_trace_options: List[BFieldTraceOptions] = None
                 ):  # pylint: disable=too-many-arguments

        self._coordinate_options = coordinate_options
        if all_location_filters is None:
            self._all_location_filters = True
        else:
            self._all_location_filters = all_location_filters
        if min_max_points is None:
            self._min_max_points = 2
        else:
            self._min_max_points = min_max_points
        self._region_options = region_options
        self._value_options = value_options
        self._distance_from_options = distance_from_options

        if b_field_trace_options is None:
            self._b_field_trace_options = []
        else:
            self._b_field_trace_options = b_field_trace_options


    @property
    def coordinate_options(self) -> List[FilteredCoordinateOptions]:
        """
        Gets the coordinate_options value.

        Returns
        -------
        str
            coordinate_options value.
        """
        return self._coordinate_options


    @coordinate_options.setter
    def coordinate_options(self, value: List[FilteredCoordinateOptions]):
        """
        Sets the coordinate_options value.

        Parameters
        ----------
        value
            coordinate_options value.
        """
        self._coordinate_options = value


    @property
    def all_location_filters(self) -> bool:
        """
        Gets the all_location_filters value.

        Returns
        -------
        str
            all_location_filters value.
        """
        return self._all_location_filters


    @all_location_filters.setter
    def all_location_filters(self, value: bool):
        """
        Sets the all_location_filters value.

        Parameters
        ----------
        value
            all_location_filters value.
        """
        self._all_location_filters = value


    @property
    def min_max_points(self) -> int:
        """
        Gets the min_max_points value.

        Returns
        -------
        str
            min_max_points value.
        """
        return self._min_max_points


    @min_max_points.setter
    def min_max_points(self, value: int):
        """
        Sets the min_max_points value.

        Parameters
        ----------
        value
            min_max_points value.
        """
        self._min_max_points = value


    @property
    def region_options(self) -> RegionOptions:
        """
        Gets the region_options value.

        Returns
        -------
        str
            region_options value.
        """
        return self._region_options


    @region_options.setter
    def region_options(self, value: RegionOptions):
        """
        Sets the region_options value.

        Parameters
        ----------
        value
            region_options value.
        """
        self._region_options = value


    @property
    def value_options(self) -> ValueOptions:
        """
        Gets the value_options value.

        Returns
        -------
        str
            value_options value.
        """
        return self._value_options


    @value_options.setter
    def value_options(self, value: ValueOptions):
        """
        Sets the value_options value.

        Parameters
        ----------
        value
            value_options value.
        """
        self._value_options = value


    @property
    def distance_from_options(self) -> DistanceFromOptions:
        """
        Gets the distance_from_options value.

        Returns
        -------
        str
            distance_from_options value.
        """
        return self._distance_from_options


    @distance_from_options.setter
    def distance_from_options(self, value: DistanceFromOptions):
        """
        Sets the distance_from_options value.

        Parameters
        ----------
        value
            distance_from_options value.
        """
        self._distance_from_options = value


    @property
    def b_field_trace_options(self) -> List[BFieldTraceOptions]:
        """
        Gets the b_field_trace_options value.

        Returns
        -------
        str
            b_field_trace_options value.
        """
        return self._b_field_trace_options


    @b_field_trace_options.setter
    def b_field_trace_options(self, value: List[BFieldTraceOptions]):
        """
        Sets the b_field_trace_options value.

        Parameters
        ----------
        value
            b_field_trace_options value.
        """
        self._b_field_trace_options = value


    def xml_element(self) -> ET:
        """
        Produces the XML Element representation of this object.

        Returns
        -------
        ET
            XML Element represenation of this object.
        """

        builder = ET.TreeBuilder()
        builder.start('OutputOptions', {})
        builder.start('AllLocationFilters', {})
        builder.data(str(self._all_location_filters).lower())
        builder.end('AllLocationFilters')
        builder.start('MinMaxPoints', {})
        builder.data(str(self._min_max_points).lower())
        builder.end('MinMaxPoints')
        builder.end('OutputOptions')

        xml_element = builder.close()

        for coord_option in self._coordinate_options:
            xml_element.append(coord_option.xml_element())
        if self._region_options is not None:
            xml_element.append(self._region_options.xml_element())
        if self._value_options is not None:
            xml_element.append(self._value_options.xml_element())
        if self._distance_from_options is not None:
            xml_element.append(self._distance_from_options.xml_element())

        for b_trace_option in self._b_field_trace_options:
            xml_element.append(b_trace_option.xml_element())

        return xml_element

Classes

class BFieldTraceOptions (coordinate_system: bool = None, hemisphere: Hemisphere = None, footpoint_latitude: bool = None, footpoint_longitude: bool = None, field_line_length: bool = None)

Class representing a BFieldTraceOptions from https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd.

Parameters

coordinate_system
Specifies the coordinate system. If None, default is CoordinateSystem.GEO.
hemisphere
Specifies the hemisphere. If None, default is Hemisphere.NORTH.
footpoint_latitude
Specifies whether to include footpoint latitude values in the listing.
footpoint_longitude
Specifies whether to include footpoint longitude values in the listing.
field_line_length
Specifies whether to include field line length values in the listing.
Expand source code
class BFieldTraceOptions:
    """
    Class representing a BFieldTraceOptions from
    <https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd>.

    Parameters
    ----------
    coordinate_system
        Specifies the coordinate system.  If None, default is
        CoordinateSystem.GEO.
    hemisphere
        Specifies the hemisphere.  If None, default is Hemisphere.NORTH.
    footpoint_latitude
        Specifies whether to include footpoint latitude values in the
        listing.
    footpoint_longitude
        Specifies whether to include footpoint longitude values in the
        listing.
    field_line_length
        Specifies whether to include field line length values in the
        listing.
    """
    def __init__(self,
                 coordinate_system: bool = None,
                 hemisphere: Hemisphere = None,
                 footpoint_latitude: bool = None,
                 footpoint_longitude: bool = None,
                 field_line_length: bool = None
                 ):  # pylint: disable=too-many-arguments

        if coordinate_system is None:
            self._coordinate_system = CoordinateSystem.GEO
        else:
            self._coordinate_system = coordinate_system

        if hemisphere is None:
            self._hemisphere = Hemisphere.NORTH
        else:
            self._hemisphere = hemisphere

        if footpoint_latitude is None:
            self._footpoint_latitude = False
        else:
            self._footpoint_latitude = footpoint_latitude

        if footpoint_longitude is None:
            self._footpoint_longitude = False
        else:
            self._footpoint_longitude = footpoint_longitude

        if field_line_length is None:
            self._field_line_length = False
        else:
            self._field_line_length = field_line_length


    @property
    def coordinate_system(self) -> bool:
        """
        Gets the coordinate_system value.

        Returns
        -------
        str
            coordinate_system value.
        """
        return self._coordinate_system


    @coordinate_system.setter
    def coordinate_system(self, value: bool):
        """
        Sets the coordinate_system value.

        Parameters
        ----------
        value
            coordinate_system value.
        """
        self._coordinate_system = value


    @property
    def hemisphere(self) -> Hemisphere:
        """
        Gets the hemisphere value.

        Returns
        -------
        str
            hemisphere value.
        """
        return self._hemisphere


    @hemisphere.setter
    def hemisphere(self, value: Hemisphere):
        """
        Sets the hemisphere value.

        Parameters
        ----------
        value
            hemisphere value.
        """
        self._hemisphere = value


    @property
    def footpoint_latitude(self) -> bool:
        """
        Gets the footpoint_latitude value.

        Returns
        -------
        str
            footpoint_latitude value.
        """
        return self._footpoint_latitude


    @footpoint_latitude.setter
    def footpoint_latitude(self, value: bool):
        """
        Sets the footpoint_latitude value.

        Parameters
        ----------
        value
            footpoint_latitude value.
        """
        self._footpoint_latitude = value


    @property
    def footpoint_longitude(self) -> bool:
        """
        Gets the footpoint_longitude value.

        Returns
        -------
        str
            footpoint_longitude value.
        """
        return self._footpoint_longitude


    @footpoint_longitude.setter
    def footpoint_longitude(self, value: bool):
        """
        Sets the footpoint_longitude value.

        Parameters
        ----------
        value
            footpoint_longitude value.
        """
        self._footpoint_longitude = value


    @property
    def field_line_length(self) -> bool:
        """
        Gets the field_line_length value.

        Returns
        -------
        str
            field_line_length value.
        """
        return self._field_line_length


    @field_line_length.setter
    def field_line_length(self, value: bool):
        """
        Sets the field_line_length value.

        Parameters
        ----------
        value
            field_line_length value.
        """
        self._field_line_length = value


    def xml_element(self) -> ET:
        """
        Produces the XML Element representation of this object.

        Returns
        -------
        ET
            XML Element represenation of this object.
        """
        builder = ET.TreeBuilder()

        builder.start('BFieldTraceOptions', {})
        builder.start('CoordinateSystem', {})
        builder.data(self._coordinate_system.value)
        builder.end('CoordinateSystem')
        builder.start('Hemisphere', {})
        builder.data(self._hemisphere.value)
        builder.end('Hemisphere')
        builder.start('FootpointLatitude', {})
        builder.data(str(self._footpoint_latitude).lower())
        builder.end('FootpointLatitude')
        builder.start('FootpointLongitude', {})
        builder.data(str(self._footpoint_longitude).lower())
        builder.end('FootpointLongitude')
        builder.start('FieldLineLength', {})
        builder.data(str(self._field_line_length).lower())
        builder.end('FieldLineLength')
        builder.end('BFieldTraceOptions')

        return builder.close()

Instance variables

var coordinate_system : bool

Gets the coordinate_system value.

Returns

str
coordinate_system value.
Expand source code
@property
def coordinate_system(self) -> bool:
    """
    Gets the coordinate_system value.

    Returns
    -------
    str
        coordinate_system value.
    """
    return self._coordinate_system
var field_line_length : bool

Gets the field_line_length value.

Returns

str
field_line_length value.
Expand source code
@property
def field_line_length(self) -> bool:
    """
    Gets the field_line_length value.

    Returns
    -------
    str
        field_line_length value.
    """
    return self._field_line_length
var footpoint_latitude : bool

Gets the footpoint_latitude value.

Returns

str
footpoint_latitude value.
Expand source code
@property
def footpoint_latitude(self) -> bool:
    """
    Gets the footpoint_latitude value.

    Returns
    -------
    str
        footpoint_latitude value.
    """
    return self._footpoint_latitude
var footpoint_longitude : bool

Gets the footpoint_longitude value.

Returns

str
footpoint_longitude value.
Expand source code
@property
def footpoint_longitude(self) -> bool:
    """
    Gets the footpoint_longitude value.

    Returns
    -------
    str
        footpoint_longitude value.
    """
    return self._footpoint_longitude
var hemisphereHemisphere

Gets the hemisphere value.

Returns

str
hemisphere value.
Expand source code
@property
def hemisphere(self) -> Hemisphere:
    """
    Gets the hemisphere value.

    Returns
    -------
    str
        hemisphere value.
    """
    return self._hemisphere

Methods

def xml_element(self) ‑> 

Produces the XML Element representation of this object.

Returns

ET
XML Element represenation of this object.
Expand source code
def xml_element(self) -> ET:
    """
    Produces the XML Element representation of this object.

    Returns
    -------
    ET
        XML Element represenation of this object.
    """
    builder = ET.TreeBuilder()

    builder.start('BFieldTraceOptions', {})
    builder.start('CoordinateSystem', {})
    builder.data(self._coordinate_system.value)
    builder.end('CoordinateSystem')
    builder.start('Hemisphere', {})
    builder.data(self._hemisphere.value)
    builder.end('Hemisphere')
    builder.start('FootpointLatitude', {})
    builder.data(str(self._footpoint_latitude).lower())
    builder.end('FootpointLatitude')
    builder.start('FootpointLongitude', {})
    builder.data(str(self._footpoint_longitude).lower())
    builder.end('FootpointLongitude')
    builder.start('FieldLineLength', {})
    builder.data(str(self._field_line_length).lower())
    builder.end('FieldLineLength')
    builder.end('BFieldTraceOptions')

    return builder.close()
class CoordinateOptions (coordinate_system: CoordinateSystem, component: CoordinateComponent)

Class representing a CoordinateOptions from https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd.

Parameters

coordinate_system
Coordinate system.
component
Coordinate system component.
Expand source code
class CoordinateOptions:
    """
    Class representing a CoordinateOptions from
    <https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd>.

    Parameters
    ----------
    coordinate_system
        Coordinate system.
    component
        Coordinate system component.
    """
    def __init__(self,
                 coordinate_system: CoordinateSystem,
                 component: CoordinateComponent):

        self._coordinate_system = coordinate_system
        self._component = component


    @property
    def coordinate_system(self) -> CoordinateSystem:
        """
        Gets the coordinate_system value.

        Returns
        -------
        str
            coordinate_system value.
        """
        return self._coordinate_system


    @coordinate_system.setter
    def coordinate_system(self, value: CoordinateSystem):
        """
        Sets the coordinate_system value.

        Parameters
        ----------
        value
            coordinate_system value.
        """
        self._coordinate_system = value


    @property
    def component(self) -> CoordinateComponent:
        """
        Gets the component value.

        Returns
        -------
        str
            component value.
        """
        return self._component


    @component.setter
    def component(self, value: CoordinateComponent):
        """
        Sets the component value.

        Parameters
        ----------
        value
            component value.
        """
        self._component = value


    def xml_element(self) -> ET:
        """
        Produces the XML Element representation of this object.

        Returns
        -------
        ET
            XML Element represenation of this object.
        """
        builder = ET.TreeBuilder()

        builder.start('CoordinateOptions', {})
        builder.start('CoordinateSystem', {})
        builder.data(self._coordinate_system.value)
        builder.end('CoordinateSystem')
        builder.start('Component', {})
        builder.data(self._component.value)
        builder.end('Component')
        builder.end('CoordinateOptions')

        return builder.close()

Subclasses

Instance variables

var componentCoordinateComponent

Gets the component value.

Returns

str
component value.
Expand source code
@property
def component(self) -> CoordinateComponent:
    """
    Gets the component value.

    Returns
    -------
    str
        component value.
    """
    return self._component
var coordinate_systemCoordinateSystem

Gets the coordinate_system value.

Returns

str
coordinate_system value.
Expand source code
@property
def coordinate_system(self) -> CoordinateSystem:
    """
    Gets the coordinate_system value.

    Returns
    -------
    str
        coordinate_system value.
    """
    return self._coordinate_system

Methods

def xml_element(self) ‑> 

Produces the XML Element representation of this object.

Returns

ET
XML Element represenation of this object.
Expand source code
def xml_element(self) -> ET:
    """
    Produces the XML Element representation of this object.

    Returns
    -------
    ET
        XML Element represenation of this object.
    """
    builder = ET.TreeBuilder()

    builder.start('CoordinateOptions', {})
    builder.start('CoordinateSystem', {})
    builder.data(self._coordinate_system.value)
    builder.end('CoordinateSystem')
    builder.start('Component', {})
    builder.data(self._component.value)
    builder.end('Component')
    builder.end('CoordinateOptions')

    return builder.close()
class DistanceFromOptions (neutral_sheet: bool = None, bow_shock: bool = None, m_pause: bool = None, b_gse_xyz: bool = None)

Class representing a DistanceFromOptions from https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd.

Parameters

neutral_sheet
Specifies whether the distance to the neutral sheet values are to be included in the listing. If None, default is False.
bow_shock
Specifies whether the distance to the bow shock values are to be included in the listing. If None, default is False.
m_pause
Specifies whether the distance to the magneto pause values that are to be included in the listing. If None, default is False.
b_gse_xyz
Specifies whether the magnetic field strength in the GSE XYZ directions that are to be included in the listing. If None, default is False.
Expand source code
class DistanceFromOptions:
    """
    Class representing a DistanceFromOptions from
    <https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd>.

    Parameters
    ----------
    neutral_sheet
        Specifies whether the distance to the neutral sheet values are
        to be included in the listing.  If None, default is False.
    bow_shock
        Specifies whether the distance to the bow shock values are to
        be included in the listing.  If None, default is False.
    m_pause
        Specifies whether the distance to the magneto pause values that
        are to be included in the listing.  If None, default is False.
    b_gse_xyz
        Specifies whether the magnetic field strength in the GSE XYZ
        directions that are to be included in the listing.  If None,
        default is False.
    """
    def __init__(self,
                 neutral_sheet: bool = None,
                 bow_shock: bool = None,
                 m_pause: bool = None,
                 b_gse_xyz: bool = None):

        if neutral_sheet is None:
            self._neutral_sheet = False
        else:
            self._neutral_sheet = neutral_sheet

        if bow_shock is None:
            self._bow_shock = False
        else:
            self._bow_shock = bow_shock

        if m_pause is None:
            self._m_pause = False
        else:
            self._m_pause = m_pause

        if b_gse_xyz is None:
            self._b_gse_xyz = False
        else:
            self._b_gse_xyz = b_gse_xyz


    @property
    def neutral_sheet(self) -> bool:
        """
        Gets the neutral_sheet value.

        Returns
        -------
        str
            neutral_sheet value.
        """
        return self._neutral_sheet


    @neutral_sheet.setter
    def neutral_sheet(self, value: bool):
        """
        Sets the neutral_sheet value.

        Parameters
        ----------
        value
            neutral_sheet value.
        """
        self._neutral_sheet = value


    @property
    def bow_shock(self) -> bool:
        """
        Gets the bow_shock value.

        Returns
        -------
        str
            bow_shock value.
        """
        return self._bow_shock


    @bow_shock.setter
    def bow_shock(self, value: bool):
        """
        Sets the bow_shock value.

        Parameters
        ----------
        value
            bow_shock value.
        """
        self._bow_shock = value


    @property
    def m_pause(self) -> bool:
        """
        Gets the m_pause value.

        Returns
        -------
        str
            m_pause value.
        """
        return self._m_pause


    @m_pause.setter
    def m_pause(self, value: bool):
        """
        Sets the m_pause value.

        Parameters
        ----------
        value
            m_pause value.
        """
        self._m_pause = value


    @property
    def b_gse_xyz(self) -> bool:
        """
        Gets the b_gse_xyz value.

        Returns
        -------
        str
            b_gse_xyz value.
        """
        return self._b_gse_xyz


    @b_gse_xyz.setter
    def b_gse_xyz(self, value: bool):
        """
        Sets the b_gse_xyz value.

        Parameters
        ----------
        value
            b_gse_xyz value.
        """
        self._b_gse_xyz = value


    def xml_element(self) -> ET:
        """
        Produces the XML Element representation of this object.

        Returns
        -------
        ET
            XML Element represenation of this object.
        """
        builder = ET.TreeBuilder()

        builder.start('DistanceFromOptions', {})
        builder.start('NeutralSheet', {})
        builder.data(str(self._neutral_sheet).lower())
        builder.end('NeutralSheet')
        builder.start('BowShock', {})
        builder.data(str(self._bow_shock).lower())
        builder.end('BowShock')
        builder.start('MPause', {})
        builder.data(str(self._m_pause).lower())
        builder.end('MPause')
        builder.start('BGseXYZ', {})
        builder.data(str(self._b_gse_xyz).lower())
        builder.end('BGseXYZ')
        builder.end('DistanceFromOptions')

        return builder.close()

Instance variables

var b_gse_xyz : bool

Gets the b_gse_xyz value.

Returns

str
b_gse_xyz value.
Expand source code
@property
def b_gse_xyz(self) -> bool:
    """
    Gets the b_gse_xyz value.

    Returns
    -------
    str
        b_gse_xyz value.
    """
    return self._b_gse_xyz
var bow_shock : bool

Gets the bow_shock value.

Returns

str
bow_shock value.
Expand source code
@property
def bow_shock(self) -> bool:
    """
    Gets the bow_shock value.

    Returns
    -------
    str
        bow_shock value.
    """
    return self._bow_shock
var m_pause : bool

Gets the m_pause value.

Returns

str
m_pause value.
Expand source code
@property
def m_pause(self) -> bool:
    """
    Gets the m_pause value.

    Returns
    -------
    str
        m_pause value.
    """
    return self._m_pause
var neutral_sheet : bool

Gets the neutral_sheet value.

Returns

str
neutral_sheet value.
Expand source code
@property
def neutral_sheet(self) -> bool:
    """
    Gets the neutral_sheet value.

    Returns
    -------
    str
        neutral_sheet value.
    """
    return self._neutral_sheet

Methods

def xml_element(self) ‑> 

Produces the XML Element representation of this object.

Returns

ET
XML Element represenation of this object.
Expand source code
def xml_element(self) -> ET:
    """
    Produces the XML Element representation of this object.

    Returns
    -------
    ET
        XML Element represenation of this object.
    """
    builder = ET.TreeBuilder()

    builder.start('DistanceFromOptions', {})
    builder.start('NeutralSheet', {})
    builder.data(str(self._neutral_sheet).lower())
    builder.end('NeutralSheet')
    builder.start('BowShock', {})
    builder.data(str(self._bow_shock).lower())
    builder.end('BowShock')
    builder.start('MPause', {})
    builder.data(str(self._m_pause).lower())
    builder.end('MPause')
    builder.start('BGseXYZ', {})
    builder.data(str(self._b_gse_xyz).lower())
    builder.end('BGseXYZ')
    builder.end('DistanceFromOptions')

    return builder.close()
class FilteredCoordinateOptions (coordinate_system: CoordinateSystem, component: CoordinateComponent, location_filter: LocationFilter = None)

Class representing a FilteredCoordinateOptions from https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd.

Parameters

coordinate_system
Coordinate system.
component
Coordinate system component.
location_filter
Location filter listing options.
Expand source code
class FilteredCoordinateOptions(CoordinateOptions):
    """
    Class representing a FilteredCoordinateOptions from
    <https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd>.

    Parameters
    ----------
    coordinate_system
        Coordinate system.
    component
        Coordinate system component.
    location_filter
        Location filter listing options.
    """
    def __init__(self,
                 coordinate_system: CoordinateSystem,
                 component: CoordinateComponent,
                 location_filter: LocationFilter = None):

        super().__init__(coordinate_system, component)
        self._location_filter = location_filter


    @property
    def location_filter(self) -> LocationFilter:
        """
        Gets the location_filter value.

        Returns
        -------
        str
            location_filter value.
        """
        return self._location_filter


    @location_filter.setter
    def location_filter(self, value: LocationFilter):
        """
        Sets the location_filter value.

        Parameters
        ----------
        value
            location_filter value.
        """
        self._location_filter = value


    def xml_element(self) -> ET:
        """
        Produces the XML Element representation of this object.

        Returns
        -------
        ET
            XML Element represenation of this object.
        """
        xml_element = super().xml_element()

        if self._location_filter is not None:
            xml_element.append(self._location_filter.xml_element())

        return xml_element

Ancestors

Instance variables

var location_filterLocationFilter

Gets the location_filter value.

Returns

str
location_filter value.
Expand source code
@property
def location_filter(self) -> LocationFilter:
    """
    Gets the location_filter value.

    Returns
    -------
    str
        location_filter value.
    """
    return self._location_filter

Inherited members

class LocationFilter (lower_limit: float, upper_limit: float, minimum: bool = None, maximum: bool = None)

Class representing a LocationFilter from https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd.

Parameters

lower_limit
Specifies the lower limit of values that are to be included in the listing. The value is kilometer or degrees as applicable.
upper_limit
Specifies the upper limit of values that are to be included in the listing. The value is kilometer or degrees as applicable.
minimum
Specifies whether the minimum value is to be marked by a "v" in the listing. If None, default is False.
maximum
Specifies whether the maximum value is to be marked by a "v" in the listing. If None, default is False.
Expand source code
class LocationFilter:
    """
    Class representing a LocationFilter from
    <https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd>.

    Parameters
    ----------
    lower_limit
        Specifies the lower limit of values that are to be included in
        the listing.  The value is kilometer or degrees as applicable.
    upper_limit
        Specifies the upper limit of values that are to be included in
        the listing.  The value is kilometer or degrees as applicable.
    minimum
        Specifies whether the minimum value is to be marked by a "v"
        in the listing.  If None, default is False.
    maximum
        Specifies whether the maximum value is to be marked by a "v"
        in the listing.  If None, default is False.
    """
    def __init__(self,
                 lower_limit: float,
                 upper_limit: float,
                 minimum: bool = None,
                 maximum: bool = None):

        if minimum is None:
            self._minimum = False
        else:
            self._minimum = minimum

        if maximum is None:
            self._maximum = False
        else:
            self._maximum = maximum

        self._lower_limit = lower_limit
        self._upper_limit = upper_limit


    @property
    def minimum(self) -> bool:
        """
        Gets the minimum value.

        Returns
        -------
        str
            minimum value.
        """
        return self._minimum


    @minimum.setter
    def minimum(self, value: bool):
        """
        Sets the minimum value.

        Parameters
        ----------
        value
            minimum value.
        """
        self._minimum = value


    @property
    def maximum(self) -> bool:
        """
        Gets the maximum value.

        Returns
        -------
        str
            maximum value.
        """
        return self._maximum


    @maximum.setter
    def maximum(self, value: bool):
        """
        Sets the maximum value.

        Parameters
        ----------
        value
            maximum value.
        """
        self._maximum = value


    @property
    def lower_limit(self) -> float:
        """
        Gets the lower_limit value.

        Returns
        -------
        str
            lower_limit value.
        """
        return self._lower_limit


    @lower_limit.setter
    def lower_limit(self, value: float):
        """
        Sets the lower_limit value.

        Parameters
        ----------
        value
            lower_limit value.
        """
        self._lower_limit = value


    @property
    def upper_limit(self) -> float:
        """
        Gets the upper_limit value.

        Returns
        -------
        str
            upper_limit value.
        """
        return self._upper_limit


    @upper_limit.setter
    def upper_limit(self, value: float):
        """
        Sets the upper_limit value.

        Parameters
        ----------
        value
            upper_limit value.
        """
        self._upper_limit = value


    def xml_element(self,
                    name: str) -> ET:
        """
        Produces the XML Element representation of this object.

        Parameters
        ----------
        name
            Name of this LocationFilter.

        Returns
        -------
        ET
            XML Element represenation of this object.
        """
        builder = ET.TreeBuilder()

        builder.start(name, {})
        builder.start('Minimum', {})
        builder.data(str(self._minimum).lower())
        builder.end('Minimum')
        builder.start('Maximum', {})
        builder.data(str(self._maximum).lower())
        builder.end('Maximum')
        builder.start('LowerLimit', {})
        builder.data(str(self._lower_limit))
        builder.end('LowerLimit')
        builder.start('UpperLimit', {})
        builder.data(str(self._upper_limit))
        builder.end('UpperLimit')
        builder.end(name)

        return builder.close()

Instance variables

var lower_limit : float

Gets the lower_limit value.

Returns

str
lower_limit value.
Expand source code
@property
def lower_limit(self) -> float:
    """
    Gets the lower_limit value.

    Returns
    -------
    str
        lower_limit value.
    """
    return self._lower_limit
var maximum : bool

Gets the maximum value.

Returns

str
maximum value.
Expand source code
@property
def maximum(self) -> bool:
    """
    Gets the maximum value.

    Returns
    -------
    str
        maximum value.
    """
    return self._maximum
var minimum : bool

Gets the minimum value.

Returns

str
minimum value.
Expand source code
@property
def minimum(self) -> bool:
    """
    Gets the minimum value.

    Returns
    -------
    str
        minimum value.
    """
    return self._minimum
var upper_limit : float

Gets the upper_limit value.

Returns

str
upper_limit value.
Expand source code
@property
def upper_limit(self) -> float:
    """
    Gets the upper_limit value.

    Returns
    -------
    str
        upper_limit value.
    """
    return self._upper_limit

Methods

def xml_element(self, name: str) ‑> 

Produces the XML Element representation of this object.

Parameters

name
Name of this LocationFilter.

Returns

ET
XML Element represenation of this object.
Expand source code
def xml_element(self,
                name: str) -> ET:
    """
    Produces the XML Element representation of this object.

    Parameters
    ----------
    name
        Name of this LocationFilter.

    Returns
    -------
    ET
        XML Element represenation of this object.
    """
    builder = ET.TreeBuilder()

    builder.start(name, {})
    builder.start('Minimum', {})
    builder.data(str(self._minimum).lower())
    builder.end('Minimum')
    builder.start('Maximum', {})
    builder.data(str(self._maximum).lower())
    builder.end('Maximum')
    builder.start('LowerLimit', {})
    builder.data(str(self._lower_limit))
    builder.end('LowerLimit')
    builder.start('UpperLimit', {})
    builder.data(str(self._upper_limit))
    builder.end('UpperLimit')
    builder.end(name)

    return builder.close()
class OutputOptions (coordinate_options: List[FilteredCoordinateOptions], all_location_filters: bool = None, min_max_points: int = None, region_options: RegionOptions = None, value_options: ValueOptions = None, distance_from_options: DistanceFromOptions = None, b_field_trace_options: List[BFieldTraceOptions] = None)

Class representing a OutputOptions from https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd.

Parameters

coordinate_options
Coordinate options.
all_location_filters
All location filters flag. If None, default is True.
min_max_points
Minimum/Maximum number of points. If None, default is 2.
region_options
Region options.
value_options
Value options.
distance_from_options
Distance-from options.
b_field_trace_options
B-field trace options.
Expand source code
class OutputOptions:
    """
    Class representing a OutputOptions from
    <https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd>.

    Parameters
    ----------
    coordinate_options
        Coordinate options.
    all_location_filters
        All location filters flag.  If None, default is True.
    min_max_points
        Minimum/Maximum number of points.  If None, default is 2.
    region_options
        Region options.
    value_options
        Value options.
    distance_from_options
        Distance-from options.
    b_field_trace_options
        B-field trace options.
    """
    def __init__(self,
                 coordinate_options: List[FilteredCoordinateOptions],
                 all_location_filters: bool = None,
                 min_max_points: int = None,
                 region_options: RegionOptions = None,
                 value_options: ValueOptions = None,
                 distance_from_options: DistanceFromOptions = None,
                 b_field_trace_options: List[BFieldTraceOptions] = None
                 ):  # pylint: disable=too-many-arguments

        self._coordinate_options = coordinate_options
        if all_location_filters is None:
            self._all_location_filters = True
        else:
            self._all_location_filters = all_location_filters
        if min_max_points is None:
            self._min_max_points = 2
        else:
            self._min_max_points = min_max_points
        self._region_options = region_options
        self._value_options = value_options
        self._distance_from_options = distance_from_options

        if b_field_trace_options is None:
            self._b_field_trace_options = []
        else:
            self._b_field_trace_options = b_field_trace_options


    @property
    def coordinate_options(self) -> List[FilteredCoordinateOptions]:
        """
        Gets the coordinate_options value.

        Returns
        -------
        str
            coordinate_options value.
        """
        return self._coordinate_options


    @coordinate_options.setter
    def coordinate_options(self, value: List[FilteredCoordinateOptions]):
        """
        Sets the coordinate_options value.

        Parameters
        ----------
        value
            coordinate_options value.
        """
        self._coordinate_options = value


    @property
    def all_location_filters(self) -> bool:
        """
        Gets the all_location_filters value.

        Returns
        -------
        str
            all_location_filters value.
        """
        return self._all_location_filters


    @all_location_filters.setter
    def all_location_filters(self, value: bool):
        """
        Sets the all_location_filters value.

        Parameters
        ----------
        value
            all_location_filters value.
        """
        self._all_location_filters = value


    @property
    def min_max_points(self) -> int:
        """
        Gets the min_max_points value.

        Returns
        -------
        str
            min_max_points value.
        """
        return self._min_max_points


    @min_max_points.setter
    def min_max_points(self, value: int):
        """
        Sets the min_max_points value.

        Parameters
        ----------
        value
            min_max_points value.
        """
        self._min_max_points = value


    @property
    def region_options(self) -> RegionOptions:
        """
        Gets the region_options value.

        Returns
        -------
        str
            region_options value.
        """
        return self._region_options


    @region_options.setter
    def region_options(self, value: RegionOptions):
        """
        Sets the region_options value.

        Parameters
        ----------
        value
            region_options value.
        """
        self._region_options = value


    @property
    def value_options(self) -> ValueOptions:
        """
        Gets the value_options value.

        Returns
        -------
        str
            value_options value.
        """
        return self._value_options


    @value_options.setter
    def value_options(self, value: ValueOptions):
        """
        Sets the value_options value.

        Parameters
        ----------
        value
            value_options value.
        """
        self._value_options = value


    @property
    def distance_from_options(self) -> DistanceFromOptions:
        """
        Gets the distance_from_options value.

        Returns
        -------
        str
            distance_from_options value.
        """
        return self._distance_from_options


    @distance_from_options.setter
    def distance_from_options(self, value: DistanceFromOptions):
        """
        Sets the distance_from_options value.

        Parameters
        ----------
        value
            distance_from_options value.
        """
        self._distance_from_options = value


    @property
    def b_field_trace_options(self) -> List[BFieldTraceOptions]:
        """
        Gets the b_field_trace_options value.

        Returns
        -------
        str
            b_field_trace_options value.
        """
        return self._b_field_trace_options


    @b_field_trace_options.setter
    def b_field_trace_options(self, value: List[BFieldTraceOptions]):
        """
        Sets the b_field_trace_options value.

        Parameters
        ----------
        value
            b_field_trace_options value.
        """
        self._b_field_trace_options = value


    def xml_element(self) -> ET:
        """
        Produces the XML Element representation of this object.

        Returns
        -------
        ET
            XML Element represenation of this object.
        """

        builder = ET.TreeBuilder()
        builder.start('OutputOptions', {})
        builder.start('AllLocationFilters', {})
        builder.data(str(self._all_location_filters).lower())
        builder.end('AllLocationFilters')
        builder.start('MinMaxPoints', {})
        builder.data(str(self._min_max_points).lower())
        builder.end('MinMaxPoints')
        builder.end('OutputOptions')

        xml_element = builder.close()

        for coord_option in self._coordinate_options:
            xml_element.append(coord_option.xml_element())
        if self._region_options is not None:
            xml_element.append(self._region_options.xml_element())
        if self._value_options is not None:
            xml_element.append(self._value_options.xml_element())
        if self._distance_from_options is not None:
            xml_element.append(self._distance_from_options.xml_element())

        for b_trace_option in self._b_field_trace_options:
            xml_element.append(b_trace_option.xml_element())

        return xml_element

Instance variables

var all_location_filters : bool

Gets the all_location_filters value.

Returns

str
all_location_filters value.
Expand source code
@property
def all_location_filters(self) -> bool:
    """
    Gets the all_location_filters value.

    Returns
    -------
    str
        all_location_filters value.
    """
    return self._all_location_filters
var b_field_trace_options : List[BFieldTraceOptions]

Gets the b_field_trace_options value.

Returns

str
b_field_trace_options value.
Expand source code
@property
def b_field_trace_options(self) -> List[BFieldTraceOptions]:
    """
    Gets the b_field_trace_options value.

    Returns
    -------
    str
        b_field_trace_options value.
    """
    return self._b_field_trace_options
var coordinate_options : List[FilteredCoordinateOptions]

Gets the coordinate_options value.

Returns

str
coordinate_options value.
Expand source code
@property
def coordinate_options(self) -> List[FilteredCoordinateOptions]:
    """
    Gets the coordinate_options value.

    Returns
    -------
    str
        coordinate_options value.
    """
    return self._coordinate_options
var distance_from_optionsDistanceFromOptions

Gets the distance_from_options value.

Returns

str
distance_from_options value.
Expand source code
@property
def distance_from_options(self) -> DistanceFromOptions:
    """
    Gets the distance_from_options value.

    Returns
    -------
    str
        distance_from_options value.
    """
    return self._distance_from_options
var min_max_points : int

Gets the min_max_points value.

Returns

str
min_max_points value.
Expand source code
@property
def min_max_points(self) -> int:
    """
    Gets the min_max_points value.

    Returns
    -------
    str
        min_max_points value.
    """
    return self._min_max_points
var region_optionsRegionOptions

Gets the region_options value.

Returns

str
region_options value.
Expand source code
@property
def region_options(self) -> RegionOptions:
    """
    Gets the region_options value.

    Returns
    -------
    str
        region_options value.
    """
    return self._region_options
var value_optionsValueOptions

Gets the value_options value.

Returns

str
value_options value.
Expand source code
@property
def value_options(self) -> ValueOptions:
    """
    Gets the value_options value.

    Returns
    -------
    str
        value_options value.
    """
    return self._value_options

Methods

def xml_element(self) ‑> 

Produces the XML Element representation of this object.

Returns

ET
XML Element represenation of this object.
Expand source code
def xml_element(self) -> ET:
    """
    Produces the XML Element representation of this object.

    Returns
    -------
    ET
        XML Element represenation of this object.
    """

    builder = ET.TreeBuilder()
    builder.start('OutputOptions', {})
    builder.start('AllLocationFilters', {})
    builder.data(str(self._all_location_filters).lower())
    builder.end('AllLocationFilters')
    builder.start('MinMaxPoints', {})
    builder.data(str(self._min_max_points).lower())
    builder.end('MinMaxPoints')
    builder.end('OutputOptions')

    xml_element = builder.close()

    for coord_option in self._coordinate_options:
        xml_element.append(coord_option.xml_element())
    if self._region_options is not None:
        xml_element.append(self._region_options.xml_element())
    if self._value_options is not None:
        xml_element.append(self._value_options.xml_element())
    if self._distance_from_options is not None:
        xml_element.append(self._distance_from_options.xml_element())

    for b_trace_option in self._b_field_trace_options:
        xml_element.append(b_trace_option.xml_element())

    return xml_element
class RegionOptions (spacecraft: bool = None, radial_traced_footpoint: bool = None, north_b_traced_footpoint: bool = None, south_b_traced_footpoint: bool = None)

Class representing a RegionOptions from https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd.

Parameters

spacecraft
Specifies whether the spacecraft regions are to be included in the listing. If None, default is False.
radial_traced_footpoint
Specifies whether the radial traced footpoint values are to be included in the listing. If None, default is False.
north_b_traced_footpoint
Specifies the north B-field traced footpoint values that are to be included in the listing. If None, default is False.
south_b_traced_footpoint
Specifies the south B-field traced footpoint values that are to be included in the listing. If None, default is False.
Expand source code
class RegionOptions:
    """
    Class representing a RegionOptions from
    <https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd>.

    Parameters
    ----------
    spacecraft
        Specifies whether the spacecraft regions are to be included
        in the listing.  If None, default is False.
    radial_traced_footpoint
        Specifies whether the radial traced footpoint values are to be
        included in the listing.  If None, default is False.
    north_b_traced_footpoint
        Specifies the north B-field traced footpoint values that are
        to be included in the listing.  If None, default is False.
    south_b_traced_footpoint
        Specifies the south B-field traced footpoint values that are
        to be included in the listing.  If None, default is False.
    """
    def __init__(self,
                 spacecraft: bool = None,
                 radial_traced_footpoint: bool = None,
                 north_b_traced_footpoint: bool = None,
                 south_b_traced_footpoint: bool = None):

        if spacecraft is None:
            self._spacecraft = False
        else:
            self._spacecraft = spacecraft

        if radial_traced_footpoint is None:
            self._radial_traced_footpoint = False
        else:
            self._radial_traced_footpoint = radial_traced_footpoint

        if north_b_traced_footpoint is None:
            self._north_b_traced_footpoint = False
        else:
            self._north_b_traced_footpoint = north_b_traced_footpoint

        if south_b_traced_footpoint is None:
            self._south_b_traced_footpoint = False
        else:
            self._south_b_traced_footpoint = south_b_traced_footpoint


    @property
    def spacecraft(self) -> bool:
        """
        Gets the spacecraft value.

        Returns
        -------
        str
            spacecraft value.
        """
        return self._spacecraft


    @spacecraft.setter
    def spacecraft(self, value: bool):
        """
        Sets the spacecraft value.

        Parameters
        ----------
        value
            spacecraft value.
        """
        self._spacecraft = value


    @property
    def radial_traced_footpoint(self) -> bool:
        """
        Gets the radial_traced_footpoint value.

        Returns
        -------
        str
            radial_traced_footpoint value.
        """
        return self._radial_traced_footpoint


    @radial_traced_footpoint.setter
    def radial_traced_footpoint(self, value: bool):
        """
        Sets the radial_traced_footpoint value.

        Parameters
        ----------
        value
            radial_traced_footpoint value.
        """
        self._radial_traced_footpoint = value


    @property
    def north_b_traced_footpoint(self) -> bool:
        """
        Gets the north_b_traced_footpoint value.

        Returns
        -------
        str
            north_b_traced_footpoint value.
        """
        return self._north_b_traced_footpoint


    @north_b_traced_footpoint.setter
    def north_b_traced_footpoint(self, value: bool):
        """
        Sets the north_b_traced_footpoint value.

        Parameters
        ----------
        value
            north_b_traced_footpoint value.
        """
        self._north_b_traced_footpoint = value


    @property
    def south_b_traced_footpoint(self) -> bool:
        """
        Gets the south_b_traced_footpoint value.

        Returns
        -------
        str
            south_b_traced_footpoint value.
        """
        return self._south_b_traced_footpoint


    @south_b_traced_footpoint.setter
    def south_b_traced_footpoint(self, value: bool):
        """
        Sets the south_b_traced_footpoint value.

        Parameters
        ----------
        value
            south_b_traced_footpoint value.
        """
        self._south_b_traced_footpoint = value


    def xml_element(
            self
        ) -> ET:
        """
        Produces the XML Element representation of this object.

        Returns
        -------
        ET
            XML Element represenation of this object.
        """
        builder = ET.TreeBuilder()

        builder.start('RegionOptions', {})
        builder.start('Spacecraft', {})
        builder.data(str(self._spacecraft).lower())
        builder.end('Spacecraft')
        builder.start('RadialTracedFootpoint', {})
        builder.data(str(self._radial_traced_footpoint).lower())
        builder.end('RadialTracedFootpoint')
        builder.start('NorthBTracedFootpoint', {})
        builder.data(str(self._north_b_traced_footpoint).lower())
        builder.end('NorthBTracedFootpoint')
        builder.start('SouthBTracedFootpoint', {})
        builder.data(str(self._south_b_traced_footpoint).lower())
        builder.end('SouthBTracedFootpoint')
        builder.end('RegionOptions')

        return builder.close()

Instance variables

var north_b_traced_footpoint : bool

Gets the north_b_traced_footpoint value.

Returns

str
north_b_traced_footpoint value.
Expand source code
@property
def north_b_traced_footpoint(self) -> bool:
    """
    Gets the north_b_traced_footpoint value.

    Returns
    -------
    str
        north_b_traced_footpoint value.
    """
    return self._north_b_traced_footpoint
var radial_traced_footpoint : bool

Gets the radial_traced_footpoint value.

Returns

str
radial_traced_footpoint value.
Expand source code
@property
def radial_traced_footpoint(self) -> bool:
    """
    Gets the radial_traced_footpoint value.

    Returns
    -------
    str
        radial_traced_footpoint value.
    """
    return self._radial_traced_footpoint
var south_b_traced_footpoint : bool

Gets the south_b_traced_footpoint value.

Returns

str
south_b_traced_footpoint value.
Expand source code
@property
def south_b_traced_footpoint(self) -> bool:
    """
    Gets the south_b_traced_footpoint value.

    Returns
    -------
    str
        south_b_traced_footpoint value.
    """
    return self._south_b_traced_footpoint
var spacecraft : bool

Gets the spacecraft value.

Returns

str
spacecraft value.
Expand source code
@property
def spacecraft(self) -> bool:
    """
    Gets the spacecraft value.

    Returns
    -------
    str
        spacecraft value.
    """
    return self._spacecraft

Methods

def xml_element(self) ‑> 

Produces the XML Element representation of this object.

Returns

ET
XML Element represenation of this object.
Expand source code
def xml_element(
        self
    ) -> ET:
    """
    Produces the XML Element representation of this object.

    Returns
    -------
    ET
        XML Element represenation of this object.
    """
    builder = ET.TreeBuilder()

    builder.start('RegionOptions', {})
    builder.start('Spacecraft', {})
    builder.data(str(self._spacecraft).lower())
    builder.end('Spacecraft')
    builder.start('RadialTracedFootpoint', {})
    builder.data(str(self._radial_traced_footpoint).lower())
    builder.end('RadialTracedFootpoint')
    builder.start('NorthBTracedFootpoint', {})
    builder.data(str(self._north_b_traced_footpoint).lower())
    builder.end('NorthBTracedFootpoint')
    builder.start('SouthBTracedFootpoint', {})
    builder.data(str(self._south_b_traced_footpoint).lower())
    builder.end('SouthBTracedFootpoint')
    builder.end('RegionOptions')

    return builder.close()
class ValueOptions (radial_distance: bool = None, b_field_strength: bool = None, dipole_l_value: bool = None, dipole_inv_lat: bool = None)

Class representing a ValueOptions from https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd.

Parameters

radial_distance
Specifies whether the radial distance values are to be included in the listing. If None, default is False.
b_field_strength
Specifies whether the B field strength values are to be included in the listing. If None, default is False.
dipole_l_value
Specifies whether the dipole L values that are to be included in the listing. If None, default is False.
dipole_inv_lat
Specifies whether the dipole invariant latitude values that are to be included in the listing. If None, default is False.
Expand source code
class ValueOptions:
    """
    Class representing a ValueOptions from
    <https://sscweb.gsfc.nasa.gov/WebServices/REST/SSC.xsd>.

    Parameters
    ----------
    radial_distance
        Specifies whether the radial distance values are to be included
        in the listing.  If None, default is False.
    b_field_strength
        Specifies whether the B field strength values are to be
        included in the listing.  If None, default is False.
    dipole_l_value
        Specifies whether the dipole L values that are
        to be included in the listing.  If None, default is False.
    dipole_inv_lat
        Specifies whether the dipole invariant latitude values that
        are to be included in the listing.  If None, default is False.
    """
    def __init__(self,
                 radial_distance: bool = None,
                 b_field_strength: bool = None,
                 dipole_l_value: bool = None,
                 dipole_inv_lat: bool = None):

        if radial_distance is None:
            self._radial_distance = False
        else:
            self._radial_distance = radial_distance

        if b_field_strength is None:
            self._b_field_strength = False
        else:
            self._b_field_strength = b_field_strength

        if dipole_l_value is None:
            self._dipole_l_value = False
        else:
            self._dipole_l_value = dipole_l_value

        if dipole_inv_lat is None:
            self._dipole_inv_lat = False
        else:
            self._dipole_inv_lat = dipole_inv_lat


    @property
    def radial_distance(self) -> bool:
        """
        Gets the radial_distance value.

        Returns
        -------
        str
            radial_distance value.
        """
        return self._radial_distance


    @radial_distance.setter
    def radial_distance(self, value: bool):
        """
        Sets the radial_distance value.

        Parameters
        ----------
        value
            radial_distance value.
        """
        self._radial_distance = value


    @property
    def b_field_strength(self) -> bool:
        """
        Gets the b_field_strength value.

        Returns
        -------
        str
            b_field_strength value.
        """
        return self._b_field_strength


    @b_field_strength.setter
    def b_field_strength(self, value: bool):
        """
        Sets the b_field_strength value.

        Parameters
        ----------
        value
            b_field_strength value.
        """
        self._b_field_strength = value


    @property
    def dipole_l_value(self) -> bool:
        """
        Gets the dipole_l_value value.

        Returns
        -------
        str
            dipole_l_value value.
        """
        return self._dipole_l_value


    @dipole_l_value.setter
    def dipole_l_value(self, value: bool):
        """
        Sets the dipole_l_value value.

        Parameters
        ----------
        value
            dipole_l_value value.
        """
        self._dipole_l_value = value


    @property
    def dipole_inv_lat(self) -> bool:
        """
        Gets the dipole_inv_lat value.

        Returns
        -------
        str
            dipole_inv_lat value.
        """
        return self._dipole_inv_lat


    @dipole_inv_lat.setter
    def dipole_inv_lat(self, value: bool):
        """
        Sets the dipole_inv_lat value.

        Parameters
        ----------
        value
            dipole_inv_lat value.
        """
        self._dipole_inv_lat = value


    def xml_element(self) -> ET:
        """
        Produces the XML Element representation of this object.

        Returns
        -------
        ET
            XML Element represenation of this object.
        """
        builder = ET.TreeBuilder()

        builder.start('ValueOptions', {})
        builder.start('RadialDistance', {})
        builder.data(str(self._radial_distance).lower())
        builder.end('RadialDistance')
        builder.start('BFieldStrength', {})
        builder.data(str(self._b_field_strength).lower())
        builder.end('BFieldStrength')
        builder.start('DipoleLValue', {})
        builder.data(str(self._dipole_l_value).lower())
        builder.end('DipoleLValue')
        builder.start('DipoleInvLat', {})
        builder.data(str(self._dipole_inv_lat).lower())
        builder.end('DipoleInvLat')
        builder.end('ValueOptions')

        return builder.close()

Instance variables

var b_field_strength : bool

Gets the b_field_strength value.

Returns

str
b_field_strength value.
Expand source code
@property
def b_field_strength(self) -> bool:
    """
    Gets the b_field_strength value.

    Returns
    -------
    str
        b_field_strength value.
    """
    return self._b_field_strength
var dipole_inv_lat : bool

Gets the dipole_inv_lat value.

Returns

str
dipole_inv_lat value.
Expand source code
@property
def dipole_inv_lat(self) -> bool:
    """
    Gets the dipole_inv_lat value.

    Returns
    -------
    str
        dipole_inv_lat value.
    """
    return self._dipole_inv_lat
var dipole_l_value : bool

Gets the dipole_l_value value.

Returns

str
dipole_l_value value.
Expand source code
@property
def dipole_l_value(self) -> bool:
    """
    Gets the dipole_l_value value.

    Returns
    -------
    str
        dipole_l_value value.
    """
    return self._dipole_l_value
var radial_distance : bool

Gets the radial_distance value.

Returns

str
radial_distance value.
Expand source code
@property
def radial_distance(self) -> bool:
    """
    Gets the radial_distance value.

    Returns
    -------
    str
        radial_distance value.
    """
    return self._radial_distance

Methods

def xml_element(self) ‑> 

Produces the XML Element representation of this object.

Returns

ET
XML Element represenation of this object.
Expand source code
def xml_element(self) -> ET:
    """
    Produces the XML Element representation of this object.

    Returns
    -------
    ET
        XML Element represenation of this object.
    """
    builder = ET.TreeBuilder()

    builder.start('ValueOptions', {})
    builder.start('RadialDistance', {})
    builder.data(str(self._radial_distance).lower())
    builder.end('RadialDistance')
    builder.start('BFieldStrength', {})
    builder.data(str(self._b_field_strength).lower())
    builder.end('BFieldStrength')
    builder.start('DipoleLValue', {})
    builder.data(str(self._dipole_l_value).lower())
    builder.end('DipoleLValue')
    builder.start('DipoleInvLat', {})
    builder.data(str(self._dipole_inv_lat).lower())
    builder.end('DipoleInvLat')
    builder.end('ValueOptions')

    return builder.close()