pub struct FkTable { /* private fields */ }Expand description
Structure implementing FK tables. These are special Grids, for which the following
additional guarantees are given:
- all subgrids of the grid evaluate the convolution functions at a single factorization and
fragmentation scale given by
FkTable::fac0andFkTable::frg0, respectively. - all subgrids share the same
xgrid. SeeFkTable::x_grid. - the channel definitions are simple, meaning that every entry consists of a single tuple of
partons with trivial factor
1.0, and all tuples are distinct from each other. SeeGrid::channels. - the FK table’s grid contains only a single
Order, whose exponents are all zero.
Implementations§
Source§impl FkTable
impl FkTable
Sourcepub fn table(&self) -> ArrayD<f64>
pub fn table(&self) -> ArrayD<f64>
Return the FK-table represented as an n-dimensional array indexed by bin, channel
and parton fractions, in this order.
§Panics
TODO
Sourcepub fn channels(&self) -> Vec<Vec<i32>>
pub fn channels(&self) -> Vec<Vec<i32>>
Return the channel definition for this FkTable. All factors are 1.0.
Sourcepub fn metadata_mut(&mut self) -> &mut BTreeMap<String, String>
pub fn metadata_mut(&mut self) -> &mut BTreeMap<String, String>
Return the metadata of this FK-table.
Sourcepub fn x_grid(&self) -> Vec<f64>
pub fn x_grid(&self) -> Vec<f64>
Returns the x grid that all subgrids for all hadronic initial states share.
Sourcepub fn convolve(
&self,
convolution_cache: &mut ConvolutionCache<'_>,
bin_indices: &[usize],
channel_mask: &[bool],
) -> Vec<f64>
pub fn convolve( &self, convolution_cache: &mut ConvolutionCache<'_>, bin_indices: &[usize], channel_mask: &[bool], ) -> Vec<f64>
Convolve the FK-table. This method has fewer arguments than Grid::convolve, because
FK-tables have all orders merged together and do not support scale variations.
Sourcepub fn rotate_pid_basis(&mut self, pid_basis: PidBasis)
pub fn rotate_pid_basis(&mut self, pid_basis: PidBasis)
Rotate the FK Table into the specified basis.
Sourcepub fn optimize(&mut self, assumptions: FkAssumptions)
pub fn optimize(&mut self, assumptions: FkAssumptions)
Optimize the size of this FK-table by throwing away heavy quark flavors assumed to be zero
at the FK-table’s scales and calling Grid::optimize.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for FkTable
impl RefUnwindSafe for FkTable
impl Send for FkTable
impl Sync for FkTable
impl Unpin for FkTable
impl UnwindSafe for FkTable
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> 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 more