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 19 import java.util.Collections; 20 import java.util.List; 21 22 import org.orekit.gnss.SatelliteSystem; 23 import org.orekit.time.AbsoluteDate; 24 import org.orekit.time.TimeStamped; 25 26 /** 27 * Combined observation data set. 28 * @author Bryan Cazabonne 29 * @since 10.1 30 */ 31 public class CombinedObservationDataSet implements TimeStamped { 32 33 /** Satellite System. */ 34 private final SatelliteSystem satelliteSystem; 35 36 /** PRN Number of the satellite observed. */ 37 private final int prnNumber; 38 39 /** Date of the observation. */ 40 private final AbsoluteDate tObs; 41 42 /** List of Observation data. */ 43 private final List<CombinedObservationData> observationData; 44 45 /** Receiver clock offset (seconds). */ 46 private final double rcvrClkOffset; 47 48 /** 49 * Simple constructor. 50 * @param satelliteSystem Satellite system 51 * @param prnNumber PRN number 52 * @param tObs Observation date 53 * @param rcvrClkOffset Receiver clock offset (optional, 0 by default) 54 * @param observationData List of combined observation data 55 */ 56 public CombinedObservationDataSet(final SatelliteSystem satelliteSystem, 57 final int prnNumber, final AbsoluteDate tObs, 58 final double rcvrClkOffset, final List<CombinedObservationData> observationData) { 59 this.satelliteSystem = satelliteSystem; 60 this.prnNumber = prnNumber; 61 this.tObs = tObs; 62 this.observationData = observationData; 63 this.rcvrClkOffset = rcvrClkOffset; 64 } 65 66 /** Get Satellite System. 67 * @return satellite system of observed satellite 68 */ 69 public SatelliteSystem getSatelliteSystem() { 70 return satelliteSystem; 71 } 72 73 /** Get PRN number. 74 * @return PRN number of the observed satellite 75 */ 76 public int getPrnNumber() { 77 return prnNumber; 78 } 79 80 /** {@inheritDoc} */ 81 @Override 82 public AbsoluteDate getDate() { 83 return tObs; 84 } 85 86 /** Get list of observation data. 87 * @return unmodifiable view of of observation data for the observed satellite 88 */ 89 public List<CombinedObservationData> getObservationData() { 90 return Collections.unmodifiableList(observationData); 91 } 92 93 /** Get receiver clock offset. 94 * @return receiver clock offset (it is optional, may be 0) 95 */ 96 public double getRcvrClkOffset() { 97 return rcvrClkOffset; 98 } 99 100 }