Package org.orekit.forces.radiation
Class CylindricallyShadowedLightFluxModel
- java.lang.Object
-
- org.orekit.forces.radiation.AbstractLightFluxModel
-
- org.orekit.forces.radiation.AbstractSolarLightFluxModel
-
- org.orekit.forces.radiation.CylindricallyShadowedLightFluxModel
-
- All Implemented Interfaces:
LightFluxModel
public class CylindricallyShadowedLightFluxModel extends AbstractSolarLightFluxModel
Class defining a flux model with a single occulting body, casting a shadow whose shape is a circular cylinder (equivalent to the light source being infinitely distant). It is less accurate but faster to evaluate than a conical model.- Since:
- 12.1
- Author:
- Romain Serra
- See Also:
AbstractSolarLightFluxModel
,LightFluxModel
-
-
Constructor Summary
Constructors Constructor Description CylindricallyShadowedLightFluxModel(double kRef, ExtendedPositionProvider occultedBody, double occultingBodyRadius)
Constructor with default event detection settings.CylindricallyShadowedLightFluxModel(double kRef, ExtendedPositionProvider occultedBody, double occultingBodyRadius, EventDetectionSettings eventDetectionSettings)
Constructor.CylindricallyShadowedLightFluxModel(ExtendedPositionProvider occultedBody, double occultingBodyRadius)
Constructor with default value for reference flux.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static EventDetectionSettings
getDefaultEclipseDetectionSettings()
Define default detection settings for eclipses.List<EventDetector>
getEclipseConditionsDetector()
Retrieve detectors finding entries and exits in different eclipse zones.<T extends CalculusFieldElement<T>>
List<FieldEventDetector<T>>getFieldEclipseConditionsDetector(Field<T> field)
Retrieve Field detectors finding entries and exits in different eclipse zones.protected <T extends CalculusFieldElement<T>>
TgetLightingRatio(FieldVector3D<T> position, FieldVector3D<T> occultedBodyPosition)
Get the lighting ratio ([0-1]).protected double
getLightingRatio(Vector3D position, Vector3D occultedBodyPosition)
Get the lighting ratio ([0-1]).-
Methods inherited from class org.orekit.forces.radiation.AbstractSolarLightFluxModel
getEventDetectionSettings, getOccultingBodyRadius, getUnoccultedFluxVector, getUnoccultedFluxVector
-
Methods inherited from class org.orekit.forces.radiation.AbstractLightFluxModel
getLightFluxVector, getLightFluxVector, getLightingRatio, getLightingRatio, getOccultedBody, getOccultedBodyPosition, getOccultedBodyPosition
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.forces.radiation.LightFluxModel
init, init
-
-
-
-
Constructor Detail
-
CylindricallyShadowedLightFluxModel
public CylindricallyShadowedLightFluxModel(double kRef, ExtendedPositionProvider occultedBody, double occultingBodyRadius, EventDetectionSettings eventDetectionSettings)
Constructor.- Parameters:
kRef
- reference fluxoccultedBody
- position provider for light sourceoccultingBodyRadius
- radius of central, occulting bodyeventDetectionSettings
- user-defined detection settings for eclipses (if ill-tuned, events might be missed or performance might drop)- Since:
- 12.2
-
CylindricallyShadowedLightFluxModel
public CylindricallyShadowedLightFluxModel(double kRef, ExtendedPositionProvider occultedBody, double occultingBodyRadius)
Constructor with default event detection settings.- Parameters:
kRef
- reference fluxoccultedBody
- position provider for light sourceoccultingBodyRadius
- radius of central, occulting body
-
CylindricallyShadowedLightFluxModel
public CylindricallyShadowedLightFluxModel(ExtendedPositionProvider occultedBody, double occultingBodyRadius)
Constructor with default value for reference flux.- Parameters:
occultedBody
- position provider for light sourceoccultingBodyRadius
- radius of central, occulting body
-
-
Method Detail
-
getDefaultEclipseDetectionSettings
public static EventDetectionSettings getDefaultEclipseDetectionSettings()
Define default detection settings for eclipses.- Returns:
- default settings
- Since:
- 12.2
-
getLightingRatio
protected double getLightingRatio(Vector3D position, Vector3D occultedBodyPosition)
Get the lighting ratio ([0-1]).- Specified by:
getLightingRatio
in classAbstractLightFluxModel
- Parameters:
position
- object's positionoccultedBodyPosition
- occulted body position in same frame- Returns:
- lighting ratio
-
getLightingRatio
protected <T extends CalculusFieldElement<T>> T getLightingRatio(FieldVector3D<T> position, FieldVector3D<T> occultedBodyPosition)
Get the lighting ratio ([0-1]). Field version.- Specified by:
getLightingRatio
in classAbstractLightFluxModel
- Type Parameters:
T
- field type- Parameters:
position
- object's positionoccultedBodyPosition
- occulted body position in same frame- Returns:
- lighting ratio
-
getEclipseConditionsDetector
public List<EventDetector> getEclipseConditionsDetector()
Retrieve detectors finding entries and exits in different eclipse zones.- Returns:
- list of event detectors
-
getFieldEclipseConditionsDetector
public <T extends CalculusFieldElement<T>> List<FieldEventDetector<T>> getFieldEclipseConditionsDetector(Field<T> field)
Retrieve Field detectors finding entries and exits in different eclipse zones.- Type Parameters:
T
- field type- Parameters:
field
- calculus field- Returns:
- list of event detectors
-
-