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