public class MagneticFieldDetector extends AbstractDetector<MagneticFieldDetector>
该探测器基于在卫星的纬度和经度处计算的场强,可以在海平面或卫星高度处检测到南大西洋异常区的飞越,其经典接受的极限值为32,000 nT。
DEFAULT_MAX_ITER, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD
Modifier | Constructor and Description |
---|---|
protected |
MagneticFieldDetector(AdaptableInterval maxCheck, double threshold, int maxIter, EventHandler handler, double limit, GeoMagneticFieldFactory.FieldModel model, OneAxisEllipsoid body, boolean atSeaLevel, DataContext dataContext)
具有完整参数的受保护构造函数。
|
|
MagneticFieldDetector(double maxCheck, double threshold, double limit, GeoMagneticFieldFactory.FieldModel model, OneAxisEllipsoid body, boolean atSeaLevel)
构建一个探测器。
|
|
MagneticFieldDetector(double maxCheck, double threshold, double limit, GeoMagneticFieldFactory.FieldModel model, OneAxisEllipsoid body, boolean atSeaLevel, DataContext dataContext)
构建一个探测器。
|
|
MagneticFieldDetector(double limit, GeoMagneticFieldFactory.FieldModel model, OneAxisEllipsoid body)
构建一个新的探测器。
|
|
MagneticFieldDetector(double limit, GeoMagneticFieldFactory.FieldModel model, OneAxisEllipsoid body, boolean atSeaLevel)
构建一个新的探测器。
|
Modifier and Type | Method and Description |
---|---|
protected MagneticFieldDetector |
create(AdaptableInterval newMaxCheck, double newThreshold, int newMaxIter, EventHandler newHandler)
构建一个新实例。
|
double |
g(SpacecraftState s)
计算检测函数的值。
|
void |
init(SpacecraftState s0, AbsoluteDate t)
在传播开始时初始化事件处理程序。
|
getHandler, getMaxCheckInterval, getMaxIterationCount, getThreshold, isForward, withHandler, withMaxCheck, withMaxCheck, withMaxIter, withThreshold
@DefaultDataContext public MagneticFieldDetector(double limit, GeoMagneticFieldFactory.FieldModel model, OneAxisEllipsoid body)
limit
- 磁场检测的阈值,单位为特斯拉
model
- 磁场模型
body
- 地球体形
MagneticFieldDetector(double, double, double, GeoMagneticFieldFactory.FieldModel, OneAxisEllipsoid, boolean, DataContext)
@DefaultDataContext public MagneticFieldDetector(double limit, GeoMagneticFieldFactory.FieldModel model, OneAxisEllipsoid body, boolean atSeaLevel)
limit
- 磁场检测的阈值,单位为特斯拉
model
- 磁场模型
body
- 地球体形
atSeaLevel
- 开关,用于计算海平面(true)或卫星高度(false)处的场强
MagneticFieldDetector(double, double, double, GeoMagneticFieldFactory.FieldModel, OneAxisEllipsoid, boolean, DataContext)
@DefaultDataContext public MagneticFieldDetector(double maxCheck, double threshold, double limit, GeoMagneticFieldFactory.FieldModel model, OneAxisEllipsoid body, boolean atSeaLevel)
此方法使用默认数据上下文
。
maxCheck
- 最大检查间隔(秒)
threshold
- 收敛阈值(秒)
limit
- 磁场检测的阈值,单位为特斯拉
model
- 磁场模型
body
- 地球体形
atSeaLevel
- 开关,用于计算海平面(true)或卫星高度(false)处的场强
MagneticFieldDetector(double, double, double, GeoMagneticFieldFactory.FieldModel, OneAxisEllipsoid, boolean, DataContext)
public MagneticFieldDetector(double maxCheck, double threshold, double limit, GeoMagneticFieldFactory.FieldModel model, OneAxisEllipsoid body, boolean atSeaLevel, DataContext dataContext)
maxCheck
- 最大检查间隔(秒)
threshold
- 收敛阈值(秒)
limit
- 磁场检测的阈值,单位为特斯拉
model
- 磁场模型
body
- 地球体形
atSeaLevel
- 开关,用于计算海平面(true)或卫星高度(false)处的场强
dataContext
- 用于查找磁场模型
protected MagneticFieldDetector(AdaptableInterval maxCheck, double threshold, int maxIter, EventHandler handler, double limit, GeoMagneticFieldFactory.FieldModel model, OneAxisEllipsoid body, boolean atSeaLevel, DataContext dataContext)
此构造函数不是公共的,因为预期用户将使用各种withXxx()
方法使用构建器API设置实例,以便以可读的方式设置实例,而不使用大量参数。
maxCheck
- 最大检查间隔
threshold
- 收敛阈值(秒)
maxIter
- 事件时间搜索中的最大迭代次数
handler
- 事件处理程序,在事件发生时调用
limit
- 磁场检测的阈值,单位为特斯拉
model
- 磁场模型
body
- 地球体形
atSeaLevel
- 开关,用于计算海平面(true)或卫星高度(false)处的场强
dataContext
- 用于查找磁场模型
protected MagneticFieldDetector create(AdaptableInterval newMaxCheck, double newThreshold, int newMaxIter, EventHandler newHandler)
create
在类 AbstractDetector<MagneticFieldDetector>
newMaxCheck
- 最大检查间隔(秒)
newThreshold
- 收敛阈值(秒)
newMaxIter
- 事件时间搜索中的最大迭代次数
newHandler
- 事件处理程序,在事件发生时调用
public void init(SpacecraftState s0, AbsoluteDate t)
此方法在传播开始时调用一次。如果需要,事件处理程序可以用于初始化一些内部数据。
默认实现不执行任何操作
此实现设置传播方向并初始化事件处理程序。如果子类覆盖此方法,则应调用super.init(s0, t)
。
init
在接口 EventDetector
init
在类 AbstractDetector<MagneticFieldDetector>
s0
- 初始状态
t
- 集成的目标时间
public double g(SpacecraftState s)
返回值是考虑atSeaLevel
开关的卫星位置处的场强与固定阈值之间的差值。
g
在接口 EventDetector
g
在类 AbstractDetector<MagneticFieldDetector>
s
- 当前状态信息:日期、运动学、姿态
Copyright © 2002-2023 CS GROUP. All rights reserved.