Package org.orekit.forces.radiation
Class CylindricallyShadowedLightFluxModel
- java.lang.Object
-
- org.orekit.forces.radiation.AbstractLightFluxModel
-
- org.orekit.forces.radiation.CylindricallyShadowedLightFluxModel
-
- All Implemented Interfaces:
LightFluxModel
public class CylindricallyShadowedLightFluxModel extends AbstractLightFluxModel
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:
AbstractLightFluxModel
,LightFluxModel
-
-
Constructor Summary
Constructors Constructor Description CylindricallyShadowedLightFluxModel(double kRef, ExtendedPositionProvider occultedBody, double occultingBodyRadius)
Constructor.CylindricallyShadowedLightFluxModel(ExtendedPositionProvider occultedBody, double occultingBodyRadius)
Constructor with default value for reference flux.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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]).double
getOccultingBodyRadius()
Getter for occulting body radius.protected <T extends CalculusFieldElement<T>>
FieldVector3D<T>getUnoccultedFluxVector(FieldVector3D<T> relativePosition)
Get the light flux vector, not considering any shadowing effect.protected Vector3D
getUnoccultedFluxVector(Vector3D relativePosition)
Get the light flux vector, not considering any shadowing effect.-
Methods inherited from class org.orekit.forces.radiation.AbstractLightFluxModel
getLightFluxVector, getLightFluxVector, getOccultedBody, getOccultedBodyPosition, getOccultedBodyPosition
-
-
-
-
Constructor Detail
-
CylindricallyShadowedLightFluxModel
public CylindricallyShadowedLightFluxModel(double kRef, ExtendedPositionProvider occultedBody, double occultingBodyRadius)
Constructor.- 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
-
getOccultingBodyRadius
public double getOccultingBodyRadius()
Getter for occulting body radius.- Returns:
- radius
-
getUnoccultedFluxVector
protected Vector3D getUnoccultedFluxVector(Vector3D relativePosition)
Get the light flux vector, not considering any shadowing effect.- Specified by:
getUnoccultedFluxVector
in classAbstractLightFluxModel
- Parameters:
relativePosition
- relative position w.r.t. light source- Returns:
- unocculted flux
-
getUnoccultedFluxVector
protected <T extends CalculusFieldElement<T>> FieldVector3D<T> getUnoccultedFluxVector(FieldVector3D<T> relativePosition)
Get the light flux vector, not considering any shadowing effect. Field version.- Specified by:
getUnoccultedFluxVector
in classAbstractLightFluxModel
- Type Parameters:
T
- field type- Parameters:
relativePosition
- relative position w.r.t. light source- Returns:
- unocculted flux
-
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
-
-