SsrIgm05Data.java
/* Copyright 2002-2024 CS GROUP
* Licensed to CS GROUP (CS) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* CS licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.gnss.metric.messages.ssr.igm;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import org.orekit.gnss.metric.messages.common.CodeBias;
/**
* Container for SSR IGM05 data.
* @author Bryan Cazabonne
* @since 11.0
*/
public class SsrIgm05Data extends SsrIgmData {
/** Number of biases processed for the current satellite. */
private int numberOfBiasesProcessed;
/** Map of code biases.
* First key: the signal ID
* Second key: the code bias object
*/
private Map<Integer, CodeBias> biases;
/** Constructor. */
public SsrIgm05Data() {
// Initialize an empty map
this.biases = new HashMap<>();
}
/**
* Get the number of biases processed for the current satellite.
* @return the number of biases processed
*/
public int getNumberOfBiasesProcessed() {
return numberOfBiasesProcessed;
}
/**
* Set the number of biases processed for the current satellite.
* @param numberOfBiasesProcessed the number to set
*/
public void setNumberOfBiasesProcessed(final int numberOfBiasesProcessed) {
this.numberOfBiasesProcessed = numberOfBiasesProcessed;
}
/**
* Add a code bias value for the current satellite.
* @param bias the code bias to add
*/
public void addCodeBias(final CodeBias bias) {
this.biases.put(bias.getSignalID(), bias);
}
/**
* Get the code biases for the current satellite.
* <p>
* First key: signal ID
* Second key: the code bias object
* </p>
* @return the code biases for the current satellite
*/
public Map<Integer, CodeBias> getCodeBiases() {
return Collections.unmodifiableMap(biases);
}
/**
* Get the code bias for a given signal ID.
* @param signalID the signal IF
* @return the corresponding code bias (null if not provided)
*/
public CodeBias getCodeBias(final int signalID) {
return biases.get(signalID);
}
}