MeasurementCombinationFactory.java

  1. /* Copyright 2002-2025 CS GROUP
  2.  * Licensed to CS GROUP (CS) under one or more
  3.  * contributor license agreements.  See the NOTICE file distributed with
  4.  * this work for additional information regarding copyright ownership.
  5.  * CS licenses this file to You under the Apache License, Version 2.0
  6.  * (the "License"); you may not use this file except in compliance with
  7.  * the License.  You may obtain a copy of the License at
  8.  *
  9.  *   http://www.apache.org/licenses/LICENSE-2.0
  10.  *
  11.  * Unless required by applicable law or agreed to in writing, software
  12.  * distributed under the License is distributed on an "AS IS" BASIS,
  13.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14.  * See the License for the specific language governing permissions and
  15.  * limitations under the License.
  16.  */
  17. package org.orekit.estimation.measurements.gnss;

  18. import org.orekit.gnss.SatelliteSystem;

  19. /** Factory for predefined combination of measurements.
  20.  * <p>
  21.  * This is a utility class, so its constructor is private.
  22.  * </p>
  23.  * @author Bryan Cazabonne
  24.  * @since 10.1
  25.  */
  26. public class MeasurementCombinationFactory {

  27.     /** Private constructor.
  28.      * <p>This class is a utility class, it should neither have a public
  29.      * nor a default constructor. This private constructor prevents
  30.      * the compiler from generating one automatically.</p>
  31.      */
  32.     private MeasurementCombinationFactory() {
  33.     }

  34.     /**
  35.      * Get the Wide-Lane combination of measurements.
  36.      * @param system satellite system
  37.      * @return Wide-Lane combination
  38.      */
  39.     public static WideLaneCombination getWideLaneCombination(final SatelliteSystem system) {
  40.         return new WideLaneCombination(system);
  41.     }

  42.     /**
  43.      * Get the Narrow-Lane combination of measurements.
  44.      * @param system satellite system
  45.      * @return Narrow-Lane combination
  46.      */
  47.     public static NarrowLaneCombination getNarrowLaneCombination(final SatelliteSystem system) {
  48.         return new NarrowLaneCombination(system);
  49.     }

  50.     /**
  51.      * Get the Ionosphere-Free combination of measurements.
  52.      * @param system satellite system
  53.      * @return Ionosphere-Lane combination
  54.      */
  55.     public static IonosphereFreeCombination getIonosphereFreeCombination(final SatelliteSystem system) {
  56.         return new IonosphereFreeCombination(system);
  57.     }

  58.     /**
  59.      * Get the Geometry-Free combination of measurements.
  60.      * @param system satellite system
  61.      * @return Geometry-Free combination
  62.      */
  63.     public static GeometryFreeCombination getGeometryFreeCombination(final SatelliteSystem system) {
  64.         return new GeometryFreeCombination(system);
  65.     }

  66.     /**
  67.      * Get the Melbourne-Wübbena combination of measurements.
  68.      * @param system satellite system
  69.      * @return Melbourne-Wübbena combination
  70.      */
  71.     public static MelbourneWubbenaCombination getMelbourneWubbenaCombination(final SatelliteSystem system) {
  72.         return new MelbourneWubbenaCombination(system);
  73.     }

  74.     /**
  75.      * Get the phase minus code combination of measurements.
  76.      * @param system satellite system
  77.      * @return phase minus code combination
  78.      */
  79.     public static PhaseMinusCodeCombination getPhaseMinusCodeCombination(final SatelliteSystem system) {
  80.         return new PhaseMinusCodeCombination(system);
  81.     }

  82.     /**
  83.      * Get the GRAPHIC combination of measurements.
  84.      * @param system satellite system
  85.      * @return phase minus code combination
  86.      */
  87.     public static GRAPHICCombination getGRAPHICCombination(final SatelliteSystem system) {
  88.         return new GRAPHICCombination(system);
  89.     }

  90. }