public class SE7_TRR_AntennaGainCorrection
extends java.lang.Object
implements org.seamcat.model.plugin.PostProcessingPlugin, org.seamcat.model.plugin.ConsistencyCheck
Modifier and Type | Field and Description |
---|---|
private double |
angleFirstSideLobe |
private boolean |
checkPropagationModel |
private org.seamcat.model.plugin.PluginDistribution |
defaultDistribution |
private double |
distanceAtMaxGain |
private double |
distanceToBS |
private java.lang.Boolean |
distanceToBSasLimit |
private java.lang.String |
filename |
private double |
gainFirstSideLobe |
private double |
maxGain |
private java.lang.String |
pathToSave |
private ProgressBarStoreFileSE7 |
progressBar |
private java.lang.Boolean |
shouldBeSaved |
private TacticalRelayData |
singleDataSet |
java.util.Vector<TacticalRelayData> |
tacticalRelayDataCollection |
Constructor and Description |
---|
SE7_TRR_AntennaGainCorrection() |
Modifier and Type | Method and Description |
---|---|
boolean |
check(org.seamcat.model.plugin.ScenarioInfo info)
SEAMCAT will call this method during consistency check of scenario.
|
void |
cleanUp()
Called by SEAMCAT to indicate that plugin should close any open
ressources.
|
private void |
collectData(org.seamcat.model.plugin.ScenarioInfo scenario)
collects the data needed for the gain correction and used for the file export
|
private void |
considerAntennaGain(org.seamcat.model.plugin.ScenarioInfo scenario)
this method considers the changed antenna gain within the range of +/- first side lobe and increases the iRSS
vectors accordingly
|
private void |
createXMLoutput()
creates the XML file and saves it to the defined location
|
java.util.Vector<java.lang.String> |
getAllowedParameterValues(int index)
Called by SEAMCAT to get list of allowed parameter values at index.
|
private double |
getAntennaDirection(org.seamcat.model.plugin.ScenarioInfo scenario,
org.seamcat.model.plugin.InterferingLink ilk)
calculates the antenna direction of the VLR depending on the positions of VLR, VLT and ILT
|
private double |
getAntennaGain(org.seamcat.model.plugin.ScenarioInfo scenario,
TacticalRelayData singleDataSet,
org.seamcat.model.plugin.InterferingLink ilk) |
private double |
getAntennaGainFistSideLobe(org.seamcat.model.plugin.ScenarioInfo scenario,
double angleFirstSideLobe) |
java.lang.String |
getDescription()
Called by SEAMCAT to retrieve a description of this plugin.
|
private double |
getGainCorrection(TacticalRelayData tacticalRelayData,
org.seamcat.model.plugin.ScenarioInfo scenario)
the method getGainCorrection generates a uniformly distributed random value
within the range of the gain of the first side lobe and the actual antenna gain it is assumed that the operator of FS avoids the main beam direction towards the interfering BS, but the probability of not being aware of the BS increases with the distance The relation between distance and the amount of the correction might become an issue of a modified version of this plugin. |
int |
getNumberOfParameters()
Called by SEAMCAT to determine the total number of user configurable
parameters.
|
private int |
getNumberOfSimulatedSystems() |
java.lang.String |
getParameterName(int id)
Called by SEAMCAT to determine the name of the parameter denoted by the
given index.
|
org.seamcat.model.plugin.PostProcessingPlugin.ParameterType |
getParameterType(int id)
Called by SEAMCAT to determine the type of the parameter denoted by the
given index.
|
java.lang.Object |
getParameterValue(int id)
Called by SEAMCAT to get current value of parameter with index index.
|
void |
init(org.seamcat.model.plugin.ParameterFactory param)
Called by SEAMCAT to initialize plugin instance.
|
private void |
initPlugin(org.seamcat.model.plugin.ScenarioInfo scenario)
initializes the plugin by assigning the global variables
|
void |
process(org.seamcat.model.plugin.ScenarioInfo scenario)
This method is called after each snapshot
|
void |
setParameterValue(int id,
java.lang.Object value)
Called by SEAMCAT when user configures this plugin.
|
private void |
updateIRSS(org.seamcat.model.plugin.ScenarioInfo scenario)
in case more than one interfering system is simulated
|
private org.seamcat.model.plugin.PluginDistribution defaultDistribution
private boolean checkPropagationModel
public java.util.Vector<TacticalRelayData> tacticalRelayDataCollection
private TacticalRelayData singleDataSet
private double angleFirstSideLobe
private double distanceToBS
private double distanceAtMaxGain
private double gainFirstSideLobe
private double maxGain
private java.lang.Boolean shouldBeSaved
private java.lang.String pathToSave
private java.lang.String filename
private java.lang.Boolean distanceToBSasLimit
private ProgressBarStoreFileSE7 progressBar
public void init(org.seamcat.model.plugin.ParameterFactory param)
org.seamcat.model.plugin.PostProcessingPlugin
init
in interface org.seamcat.model.plugin.PostProcessingPlugin
param
- The ParameterFactory which should be used by plugin to
initialize complex variables.public void cleanUp()
org.seamcat.model.plugin.PostProcessingPlugin
cleanUp
in interface org.seamcat.model.plugin.PostProcessingPlugin
public java.lang.String getDescription()
org.seamcat.model.plugin.PostProcessingPlugin
getDescription
in interface org.seamcat.model.plugin.PostProcessingPlugin
public void process(org.seamcat.model.plugin.ScenarioInfo scenario)
process
in interface org.seamcat.model.plugin.PostProcessingPlugin
scenario
- ScenarioInfo object containing information on current scenarioprivate void createXMLoutput()
private void updateIRSS(org.seamcat.model.plugin.ScenarioInfo scenario)
scenario
- private int getNumberOfSimulatedSystems()
private void considerAntennaGain(org.seamcat.model.plugin.ScenarioInfo scenario)
scenario
- private double getGainCorrection(TacticalRelayData tacticalRelayData, org.seamcat.model.plugin.ScenarioInfo scenario)
tacticalRelayData
- scenario
- private void initPlugin(org.seamcat.model.plugin.ScenarioInfo scenario)
scenario
- private double getAntennaGainFistSideLobe(org.seamcat.model.plugin.ScenarioInfo scenario, double angleFirstSideLobe)
scenario
- angleFirstSideLobe
- private void collectData(org.seamcat.model.plugin.ScenarioInfo scenario)
scenario
- private double getAntennaGain(org.seamcat.model.plugin.ScenarioInfo scenario, TacticalRelayData singleDataSet, org.seamcat.model.plugin.InterferingLink ilk)
scenario
- singleDataSet
- ilk
- private double getAntennaDirection(org.seamcat.model.plugin.ScenarioInfo scenario, org.seamcat.model.plugin.InterferingLink ilk)
scenario
- ilk
- public int getNumberOfParameters()
org.seamcat.model.plugin.PostProcessingPlugin
getNumberOfParameters
in interface org.seamcat.model.plugin.PostProcessingPlugin
public org.seamcat.model.plugin.PostProcessingPlugin.ParameterType getParameterType(int id)
org.seamcat.model.plugin.PostProcessingPlugin
getParameterType
in interface org.seamcat.model.plugin.PostProcessingPlugin
id
- 1 based parameter indexpublic void setParameterValue(int id, java.lang.Object value)
org.seamcat.model.plugin.PostProcessingPlugin
setParameterValue
in interface org.seamcat.model.plugin.PostProcessingPlugin
id
- 1 based parameter indexvalue
- The value to assign to parameter denoted by given indexpublic java.lang.Object getParameterValue(int id)
org.seamcat.model.plugin.PostProcessingPlugin
getParameterValue
in interface org.seamcat.model.plugin.PostProcessingPlugin
id
- 1 based parameter indexpublic java.lang.String getParameterName(int id)
org.seamcat.model.plugin.PostProcessingPlugin
getParameterName
in interface org.seamcat.model.plugin.PostProcessingPlugin
id
- 1 based parameter indexpublic boolean check(org.seamcat.model.plugin.ScenarioInfo info)
org.seamcat.model.plugin.ConsistencyCheck
ScenarioInfo.addConsistencyWarning(String description)
method should be called with one or more user friendly messages. Theese
messages will be presented to the SEAMCAT user only if return value is
false
.check
in interface org.seamcat.model.plugin.ConsistencyCheck
info
- Contains information about the scenariopublic java.util.Vector<java.lang.String> getAllowedParameterValues(int index)
org.seamcat.model.plugin.PostProcessingPlugin
getAllowedParameterValues
in interface org.seamcat.model.plugin.PostProcessingPlugin
index
- 1 based parameter index