public class VisibilityFromStationDetector extends AbstractDetector
The tropospheric correction used can be set by the user.
The default implementation behavior is to
continue propagation at raising and
to stop propagation at setting. This can
be changed by using one of the provided constructors.
This detector can takes into account signal propagation duration through
AbstractDetector.setPropagationDelayType(PropagationDelayType, fr.cnes.sirius.patrius.frames.Frame)
(default is signal being instantaneous).
TroposphericCorrection,
EventDetector,
GeometricStationAntenna,
Serialized Form| Modifier and Type | Class and Description |
|---|---|
static class |
VisibilityFromStationDetector.LinkType
Type of link (it can be uplink or downlink).
|
AbstractDetector.PropagationDelayTypeEventDetector.Action| Modifier and Type | Field and Description |
|---|---|
static int |
RAISING
Flag for raising detection (slopeSelection = 0).
|
static int |
RAISING_SETTING
Flag for raising/setting detection (slopeSelection = 2).
|
static int |
SETTING
Flag for setting detection (slopeSelection = 1).
|
actionAtEntry, actionAtExit, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD, removeAtEntry, removeAtExit, shouldBeRemovedFlagDECREASING, INCREASING, INCREASING_DECREASING| Constructor and Description |
|---|
VisibilityFromStationDetector(GeometricStationAntenna stationModel,
AngularCorrection correctionModel,
double maxCheck,
double threshold,
EventDetector.Action raising,
EventDetector.Action setting,
boolean removeRaising,
boolean removeSetting,
VisibilityFromStationDetector.LinkType linkTypeIn)
Build a new apparent elevation detector with parameterizable tropospheric correction.
|
VisibilityFromStationDetector(GeometricStationAntenna stationModel,
AngularCorrection correctionModel,
double maxCheck,
double threshold,
EventDetector.Action raising,
EventDetector.Action setting,
VisibilityFromStationDetector.LinkType linkTypeIn)
Build a new apparent elevation detector with parameterizable tropospheric correction.
|
VisibilityFromStationDetector(GeometricStationAntenna stationModel,
AngularCorrection correctionModel,
double maxCheck,
double threshold,
VisibilityFromStationDetector.LinkType linkTypeIn)
Build a new apparent elevation detector with parameterizable tropospheric correction.
|
VisibilityFromStationDetector(GeometricStationAntenna stationModel,
AngularCorrection correctionModel,
int slopeSelection,
double maxCheck,
double threshold,
EventDetector.Action action,
boolean remove,
VisibilityFromStationDetector.LinkType linkTypeIn)
Build a new apparent elevation detector with parameterizable tropospheric correction.
|
VisibilityFromStationDetector(TopocentricFrame topoFrame,
double[][] azimElevMask,
AngularCorrection correctionModel,
double maxCheck,
double threshold,
EventDetector.Action raising,
EventDetector.Action setting,
boolean removeRaising,
boolean removeSetting,
VisibilityFromStationDetector.LinkType linkTypeIn)
Build a new apparent elevation detector with parameterizable tropospheric correction.
|
VisibilityFromStationDetector(TopocentricFrame topoFrame,
double[][] azimElevMask,
AngularCorrection correctionModel,
double maxCheck,
double threshold,
EventDetector.Action raising,
EventDetector.Action setting,
VisibilityFromStationDetector.LinkType linkTypeIn)
Build a new apparent elevation detector with parameterizable tropospheric correction.
|
VisibilityFromStationDetector(TopocentricFrame topoFrame,
double[][] azimElevMask,
AngularCorrection correctionModel,
double maxCheck,
double threshold,
VisibilityFromStationDetector.LinkType linkTypeIn)
Build a new apparent elevation detector with parameterizable tropospheric correction.
|
| Modifier and Type | Method and Description |
|---|---|
EventDetector |
copy()
A copy of the detector.
|
EventDetector.Action |
eventOccurred(SpacecraftState s,
boolean increasing,
boolean forward)
Handle "visibility from station" event and choose what to do next.
|
double |
g(SpacecraftState state)
Compute the value of the switching function.
|
BodyShape |
getBodyShape()
Getter for the Earth shape.
|
AngularCorrection |
getCorrection()
Get the correction.
|
VisibilityFromStationDetector.LinkType |
getLinkType()
Returns the type of link (it can be uplink or downlink).
|
GeometricStationAntenna |
getStation()
Get the station.
|
GeodeticPoint |
getStationGeodeticPoint()
Getter for the station geodetic point.
|
void |
init(SpacecraftState s0,
AbsoluteDate t)
Initialize event handler at the start of a propagation.
|
void |
setPropagationDelayType(AbstractDetector.PropagationDelayType propagationDelayType,
Frame frame)
Setter for propagation delay computation type.
|
getActionAtEntry, getActionAtExit, getInertialFrame, getMaxCheckInterval, getMaxIterationCount, getPropagationDelayType, getSignalEmissionDate, getSignalReceptionDate, getSlopeSelection, getThreshold, isRemoveAtEntry, isRemoveAtExit, logEventsOverTimeInterval, resetState, setMaxCheckInterval, shouldBeRemovedpublic static final int RAISING
public static final int SETTING
public static final int RAISING_SETTING
public VisibilityFromStationDetector(TopocentricFrame topoFrame, double[][] azimElevMask, AngularCorrection correctionModel, double maxCheck, double threshold, VisibilityFromStationDetector.LinkType linkTypeIn)
The maximal interval between elevation checks should be smaller than the half duration of the minimal pass to handle, otherwise some short passes could be missed.
The default implementation behavior is to
continue propagation at raising
and to stop propagation at setting.
topoFrame - the station's topocentric frameazimElevMask - azimElevMask the azimuth - elevation mask (rad)correctionModel - the elevation correction model for the station (set null to ignore
tropospheric correction)maxCheck - maximal checking interval (s)threshold - convergence threshold (s)linkTypeIn - the type of link (it can be uplink or downlink)public VisibilityFromStationDetector(TopocentricFrame topoFrame, double[][] azimElevMask, AngularCorrection correctionModel, double maxCheck, double threshold, EventDetector.Action raising, EventDetector.Action setting, VisibilityFromStationDetector.LinkType linkTypeIn)
The maximal interval between elevation checks should be smaller than the half duration of the minimal pass to handle, otherwise some short passes could be missed.
topoFrame - the station's topocentric frameazimElevMask - azimElevMask the azimuth - elevation mask (rad)correctionModel - the elevation correction model for the station (set null to ignore
tropospheric correction)maxCheck - maximal checking interval (s)threshold - convergence threshold (s)raising - action performed when propagation at raisingsetting - action performed when propagation at settinglinkTypeIn - the type of link (it can be uplink or downlink)public VisibilityFromStationDetector(TopocentricFrame topoFrame, double[][] azimElevMask, AngularCorrection correctionModel, double maxCheck, double threshold, EventDetector.Action raising, EventDetector.Action setting, boolean removeRaising, boolean removeSetting, VisibilityFromStationDetector.LinkType linkTypeIn)
The maximal interval between elevation checks should be smaller than the half duration of the minimal pass to handle, otherwise some short passes could be missed.
topoFrame - the station's topocentric frameazimElevMask - azimElevMask the azimuth - elevation mask (rad)correctionModel - the elevation correction model for the station (set null to ignore
tropospheric correction)maxCheck - maximal checking interval (s)threshold - convergence threshold (s)raising - action performed when propagation at raisingsetting - action performed when propagation at settingremoveRaising - true if detector should be removed at raisingremoveSetting - true if detector should be removed at settinglinkTypeIn - the type of link (it can be uplink or downlink)public VisibilityFromStationDetector(GeometricStationAntenna stationModel, AngularCorrection correctionModel, double maxCheck, double threshold, VisibilityFromStationDetector.LinkType linkTypeIn)
The maximal interval between elevation checks should be smaller than the half duration of the minimal pass to handle, otherwise some short passes could be missed.
The default implementation behavior is to
continue propagation at raising
and to stop propagation at setting.
stationModel - the station sensor geometric modelcorrectionModel - the elevation correction model for the station (set null to ignore
tropospheric correction)maxCheck - maximal checking interval (s)threshold - convergence threshold (s)linkTypeIn - the type of link (it can be uplink or downlink)public VisibilityFromStationDetector(GeometricStationAntenna stationModel, AngularCorrection correctionModel, double maxCheck, double threshold, EventDetector.Action raising, EventDetector.Action setting, VisibilityFromStationDetector.LinkType linkTypeIn)
The maximal interval between elevation checks should be smaller than the half duration of the minimal pass to handle, otherwise some short passes could be missed.
stationModel - the station sensor geometric modelcorrectionModel - the elevation correction model for the station (set null to ignore
tropospheric correction)maxCheck - maximal checking interval (s)threshold - convergence threshold (s)raising - action performed when propagation at raisingsetting - action performed when propagation at settinglinkTypeIn - the type of link (it can be uplink or downlink)public VisibilityFromStationDetector(GeometricStationAntenna stationModel, AngularCorrection correctionModel, double maxCheck, double threshold, EventDetector.Action raising, EventDetector.Action setting, boolean removeRaising, boolean removeSetting, VisibilityFromStationDetector.LinkType linkTypeIn)
The maximal interval between elevation checks should be smaller than the half duration of the minimal pass to handle, otherwise some short passes could be missed.
stationModel - the station sensor geometric modelcorrectionModel - the elevation correction model for the station (set null to ignore
tropospheric correction)maxCheck - maximal checking interval (s)threshold - convergence threshold (s)raising - action performed when propagation at raisingsetting - action performed when propagation at settingremoveRaising - true if detector should be removed at raisingremoveSetting - true if detector should be removed at settinglinkTypeIn - the type of link (it can be uplink or downlink)public VisibilityFromStationDetector(GeometricStationAntenna stationModel, AngularCorrection correctionModel, int slopeSelection, double maxCheck, double threshold, EventDetector.Action action, boolean remove, VisibilityFromStationDetector.LinkType linkTypeIn)
The maximal interval between elevation checks should be smaller than the half duration of the minimal pass to handle, otherwise some short passes could be missed.
stationModel - the station sensor geometric modelcorrectionModel - the elevation correction model for the station (set null to ignore
tropospheric correction)slopeSelection - slope selectionmaxCheck - maximal checking interval (s)threshold - convergence threshold (s)action - action performed when propagation at raising/setting depending on slope
selectionremove - true if detector should be removed at raising/setting depending on slope
selectionlinkTypeIn - the type of link (it can be uplink or downlink)public void init(SpacecraftState s0, AbsoluteDate t)
This method is called once at the start of the propagation. It may be used by the event handler to initialize some internal data if needed.
init in interface EventDetectorinit in class AbstractDetectors0 - initial statet - target time for the integrationpublic EventDetector.Action eventOccurred(SpacecraftState s, boolean increasing, boolean forward) throws PatriusException
eventOccurred in interface EventDetectoreventOccurred in class AbstractDetectors - the current state information : date, kinematics, attitudeincreasing - if true, the value of the switching function increases when times increases
around event.forward - if true, the integration variable (time) increases during integration.PatriusException - if some specific error occurspublic double g(SpacecraftState state) throws PatriusException
This function measures the angular distance between the current apparent vector to the spacecraft and the border of the station's field of view. It is positive when the spacecraft is in the field
g in interface EventDetectorg in class AbstractDetectorstate - statePatriusException - if some specific error occurspublic void setPropagationDelayType(AbstractDetector.PropagationDelayType propagationDelayType, Frame frame)
setPropagationDelayType in class AbstractDetectorpropagationDelayType - propagation delay type used in events computationframe - frame to use for signal propagation with delay (may be null if propagation delay type is
considered instantaneous). Warning: the usage of a pseudo inertial frame is tolerated, however it will
lead to some inaccuracies due to the non-invariance of the frame with respect to time. For this reason,
it is suggested to use the ICRF frame or a frame which is frozen with respect to the ICRF.public EventDetector copy()
The following attributes are not deeply copied:
AngularCorrectionGeometricStationAntennapublic GeodeticPoint getStationGeodeticPoint()
public BodyShape getBodyShape()
public VisibilityFromStationDetector.LinkType getLinkType()
public GeometricStationAntenna getStation()
public AngularCorrection getCorrection()
Copyright © 2022 CNES. All rights reserved.