pub struct WindTruingRequest {Show 15 fields
pub observations: Vec<WindObservation>,
pub muzzle_velocity_fps: f64,
pub bc: f64,
pub drag_model: DragModelArg,
pub mass_gr: f64,
pub diameter_in: f64,
pub zero_distance_yd: f64,
pub sight_height_in: f64,
pub temperature_f: f64,
pub pressure_inhg: f64,
pub humidity_pct: f64,
pub altitude_ft: f64,
pub twist: TruingTwist,
pub earth: Option<TruingEarthFrame>,
pub called_crosswind_mph: Option<f64>,
}Expand description
Everything the wind fit needs: the observed misses plus the load, rifle, atmosphere and the opt-in earth frame (MBA-1392).
Imperial units for the load/atmosphere fields, matching the truing core’s historical internal convention; the observations themselves are SI. Unlike the drop-based truing commands this carries a KNOWN muzzle velocity — wind is the unknown being fitted, so velocity is an input, not an output.
Fields§
§observations: Vec<WindObservation>One or more observed horizontal misses. Ranges must be distinct.
muzzle_velocity_fps: f64Known muzzle velocity, feet/second (true up first with true-velocity if unsure).
bc: f64Scalar ballistic coefficient for drag_model.
drag_model: DragModelArg§mass_gr: f64Bullet mass in grains.
diameter_in: f64Bullet diameter in inches.
zero_distance_yd: f64Zero distance in yards.
sight_height_in: f64Sight height over bore in inches.
temperature_f: f64Ambient temperature in degrees Fahrenheit.
pressure_inhg: f64Station pressure in inches of mercury.
humidity_pct: f64Relative humidity in percent (0 through 100).
altitude_ft: f64Altitude in feet.
twist: TruingTwistBarrel twist. REQUIRED: spin drift is a lateral effect of the same order as a light wind at long range, so without it the fit would silently report spin drift as wind.
earth: Option<TruingEarthFrame>Latitude + shot azimuth. None leaves Coriolis unmodelled and absorbed into the
solved wind (the report names it as unsubtracted).
called_crosswind_mph: Option<f64>The wind the shooter CALLED, mph, in the same signed convention as the solved
value. Some adds a wind-call correction factor (solved / called) to the report.
Implementations§
Source§impl WindTruingRequest
impl WindTruingRequest
Sourcepub fn validate(&self) -> Result<(), String>
pub fn validate(&self) -> Result<(), String>
Validate the whole request before any (expensive) trajectory work begins.
Mirrors crate::truing::TruingModelInputsV1::validate plus the observation-set
rules from crate::truing::validate_truing_observations: finite positive ranges,
finite misses, no duplicate ranges. Sigmas are all-or-none — a half-weighted set
would silently mix an inverse-variance mean with unit weights.
Trait Implementations§
Source§impl Clone for WindTruingRequest
impl Clone for WindTruingRequest
Source§fn clone(&self) -> WindTruingRequest
fn clone(&self) -> WindTruingRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for WindTruingRequest
impl RefUnwindSafe for WindTruingRequest
impl Send for WindTruingRequest
impl Sync for WindTruingRequest
impl Unpin for WindTruingRequest
impl UnsafeUnpin for WindTruingRequest
impl UnwindSafe for WindTruingRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.