Class OdmParser<T extends NdmConstituent<OdmHeader,​?>,​P extends OdmParser<T,​?>>

  • Type Parameters:
    T - type of the ODM file
    P - type of the parser
    All Implemented Interfaces:
    MessageParser<T>
    Direct Known Subclasses:
    OcmParser, OemParser, OmmParser, OpmParser

    public abstract class OdmParser<T extends NdmConstituent<OdmHeader,​?>,​P extends OdmParser<T,​?>>
    extends AbstractConstituentParser<OdmHeader,​T,​P>
    Common parser for Orbit Parameter/Ephemeris/Mean/Comprehensive Messages.

    Note than starting with Orekit 11.0, CCSDS message parsers are mutable objects that gather the data being parsed, until the message is complete and the parseMessage method has returned. This implies that parsers should not be used in a multi-thread context. The recommended way to use parsers is to either dedicate one parser for each message and drop it afterwards, or to use a single-thread loop.

    Since:
    11.0
    Author:
    Luc Maisonobe
    • Constructor Detail

      • OdmParser

        protected OdmParser​(String root,
                            String formatVersionKey,
                            IERSConventions conventions,
                            boolean simpleEOP,
                            DataContext dataContext,
                            AbsoluteDate missionReferenceDate,
                            double mu,
                            ParsedUnitsBehavior parsedUnitsBehavior,
                            Function<ParseToken,​List<ParseToken>>[] filters)
        Complete constructor.
        Parameters:
        root - root element for XML files
        formatVersionKey - key for format version
        conventions - IERS Conventions
        simpleEOP - if true, tidal effects are ignored when interpolating EOP
        dataContext - used to retrieve frames and time scales
        missionReferenceDate - reference date for Mission Elapsed Time or Mission Relative Time time systems
        mu - gravitational coefficient
        parsedUnitsBehavior - behavior to adopt for handling parsed units
        filters - filters to apply to parse tokens
        Since:
        12.0
    • Method Detail

      • getMissionReferenceDate

        public AbsoluteDate getMissionReferenceDate()
        Get reference date for Mission Elapsed Time and Mission Relative Time time systems.
        Returns:
        the reference date
      • getMuSet

        protected double getMuSet()
        Get the gravitational coefficient set at construction.
        Returns:
        gravitational coefficient set at construction
      • setMuParsed

        protected void setMuParsed​(double muParsed)
        Set the gravitational coefficient parsed in the ODM File.
        Parameters:
        muParsed - the coefficient to be set
      • setMuCreated

        protected void setMuCreated​(double muCreated)
        Set the gravitational coefficient created from the knowledge of the central body.
        Parameters:
        muCreated - the coefficient to be set
      • getSelectedMu

        public double getSelectedMu()
        Select the gravitational coefficient to use. In order of decreasing priority, finalMU is set equal to:
        1. the coefficient parsed in the file,
        2. the coefficient set by the user with the parser's method setMu,
        3. the coefficient created from the knowledge of the central body.
        Returns:
        selected gravitational coefficient