#[derive(Debug, Clone, Copy, PartialEq)]
pub struct EclipseGeometry {
pub umbra_radius_km: f64,
pub relative_velocity_km_s: f64,
}
impl EclipseGeometry {
pub fn totality_duration_minutes(&self) -> f64 {
2.0 * self.umbra_radius_km / self.relative_velocity_km_s / 60.0
}
}
pub fn typical_phobos_eclipse() -> EclipseGeometry {
EclipseGeometry {
umbra_radius_km: 3_389.5,
relative_velocity_km_s: 2.14,
}
}