pub struct FrameAxes { /* private fields */ }Expand description
Orthonormal axes used to project decay momenta into an angular-analysis frame.
Implementations§
Source§impl FrameAxes
impl FrameAxes
Sourcepub fn new(x: Vec3, y: Vec3, z: Vec3) -> LadduResult<Self>
pub fn new(x: Vec3, y: Vec3, z: Vec3) -> LadduResult<Self>
Construct normalized right-handed axes after validating orthogonality.
Sourcepub fn from_z_and_plane_normal(z: Vec3, plane_normal: Vec3) -> LadduResult<Self>
pub fn from_z_and_plane_normal(z: Vec3, plane_normal: Vec3) -> LadduResult<Self>
Construct right-handed axes from a z axis and a plane normal.
Sourcepub fn from_decay_frame(
frame: Frame,
reference: Vec4,
parent: Vec4,
spectator: Vec4,
system_boost: Vec3,
) -> LadduResult<Self>
pub fn from_decay_frame( frame: Frame, reference: Vec4, parent: Vec4, spectator: Vec4, system_boost: Vec3, ) -> LadduResult<Self>
Construct decay-frame axes for a reaction root from caller-selected production momenta.
reference, parent, and spectator are lab-frame four-momenta. system_boost is the
boost into the frame where the production plane is defined. This keeps named event topology
handling outside the frame helper while still sharing the convention-sensitive geometry.
Sourcepub fn for_daughter(self, daughter_momentum: Vec3) -> LadduResult<Self>
pub fn for_daughter(self, daughter_momentum: Vec3) -> LadduResult<Self>
Construct daughter axes in the current rest frame.
The daughter direction defines the new z axis. The current z axis and daughter
direction define the rotation plane, which makes this helper reusable with any parent-axis
convention.
Sourcepub fn components(self, vector: Vec3) -> Vec3
pub fn components(self, vector: Vec3) -> Vec3
Project a vector onto these frame axes.
Sourcepub fn angles(self, vector: Vec3) -> LadduResult<DecayAngles>
pub fn angles(self, vector: Vec3) -> LadduResult<DecayAngles>
Compute spherical decay angles for a vector expressed in the same rest frame as the axes.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for FrameAxes
impl<'de> Deserialize<'de> for FrameAxes
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Copy for FrameAxes
impl StructuralPartialEq for FrameAxes
Auto Trait Implementations§
impl Freeze for FrameAxes
impl RefUnwindSafe for FrameAxes
impl Send for FrameAxes
impl Sync for FrameAxes
impl Unpin for FrameAxes
impl UnsafeUnpin for FrameAxes
impl UnwindSafe for FrameAxes
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<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>
fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>
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.