Skip to main content

GraphTerm

Trait GraphTerm 

Source
pub trait GraphTerm {
Show 20 methods // Required methods fn evaluate<T: FloatLike>( &mut self, sample: &MomentumSample<T>, context: GraphTermEvaluationContext<'_, '_, T>, ) -> Result<GraphEvaluationResult<T>>; fn name(&self) -> String; fn orientation_label(&self, orientation_id: usize) -> Option<String>; fn sampling_channel_label( &self, channel_id: SamplingChannelId, parameterization_settings: &ParameterizationSettings, ) -> Result<Option<String>>; fn warm_up( &mut self, settings: &RuntimeSettings, model: &Model, ) -> Result<()>; fn get_graph(&self) -> &Graph; fn sampling_setup(&self) -> &LmbMultiChannelingSetup; fn sampling_setup_mut(&mut self) -> &mut LmbMultiChannelingSetup; fn get_num_orientations(&self) -> usize; fn production_orientation_keys(&self) -> &[String]; fn selected_production_orientation_keys(&self) -> Vec<&str>; fn selected_lmb_basis_id( &self, parameterization_settings: &ParameterizationSettings, ) -> Result<LmbIndex>; fn get_tropical_sampler(&self) -> &SampleGenerator<3>; fn get_mut_param_builder(&mut self) -> &mut ParamBuilder<f64>; fn get_real_mass_vector(&self) -> Result<EdgeVec<Option<F<f64>>>>; fn bind_sampling_bridge<T: FloatLike>( &self, catalogue: &SamplingChannelCatalogue, programs: &[(Option<SamplingExpressionEvaluator>, Option<SamplingExpressionEvaluator>, Option<SamplingExpressionEvaluator>)], parameterization_settings: &ParameterizationSettings, settings: &RuntimeSettings, external_momenta: &[[T; 4]], orientation: Option<usize>, ) -> Result<SamplingChannelBridge<T>>; fn sampling_channel_is_lmb( &self, channel_id: SamplingChannelId, parameterization_settings: &ParameterizationSettings, ) -> Result<bool>; fn sampling_channel_ids( &self, parameterization_settings: &ParameterizationSettings, ) -> Result<Vec<SamplingChannelId>>; // Provided methods fn prepare_physical_overlaps( &mut self, _sample: &MomentumSample<ArbPrec>, _context: GraphTermEvaluationContext<'_, '_, ArbPrec>, ) -> Result<Option<TiVec<CutGroupId, Option<LUSharedOverlaps<ArbPrec>>>>> { ... } fn compile_sampling_bridge<T: FloatLike>( &self, parameterization_settings: &ParameterizationSettings, settings: &RuntimeSettings, external_momenta: &[[T; 4]], orientation: Option<usize>, ) -> Result<SamplingChannelBridge<T>> { ... }
}

Required Methods§

Source

fn evaluate<T: FloatLike>( &mut self, sample: &MomentumSample<T>, context: GraphTermEvaluationContext<'_, '_, T>, ) -> Result<GraphEvaluationResult<T>>

Source

fn name(&self) -> String

Source

fn orientation_label(&self, orientation_id: usize) -> Option<String>

Source

fn sampling_channel_label( &self, channel_id: SamplingChannelId, parameterization_settings: &ParameterizationSettings, ) -> Result<Option<String>>

Source

fn warm_up(&mut self, settings: &RuntimeSettings, model: &Model) -> Result<()>

Source

fn get_graph(&self) -> &Graph

Source

fn sampling_setup(&self) -> &LmbMultiChannelingSetup

Source

fn sampling_setup_mut(&mut self) -> &mut LmbMultiChannelingSetup

Source

fn get_num_orientations(&self) -> usize

Source

fn production_orientation_keys(&self) -> &[String]

Source

fn selected_production_orientation_keys(&self) -> Vec<&str>

Source

fn selected_lmb_basis_id( &self, parameterization_settings: &ParameterizationSettings, ) -> Result<LmbIndex>

Source

fn get_tropical_sampler(&self) -> &SampleGenerator<3>

Source

fn get_mut_param_builder(&mut self) -> &mut ParamBuilder<f64>

Source

fn get_real_mass_vector(&self) -> Result<EdgeVec<Option<F<f64>>>>

Source

fn bind_sampling_bridge<T: FloatLike>( &self, catalogue: &SamplingChannelCatalogue, programs: &[(Option<SamplingExpressionEvaluator>, Option<SamplingExpressionEvaluator>, Option<SamplingExpressionEvaluator>)], parameterization_settings: &ParameterizationSettings, settings: &RuntimeSettings, external_momenta: &[[T; 4]], orientation: Option<usize>, ) -> Result<SamplingChannelBridge<T>>

Bind the already resolved catalogue and compiled programs to native graph geometry. Canonical warmup and native component diagnostics reuse this one definition.

Source

fn sampling_channel_is_lmb( &self, channel_id: SamplingChannelId, parameterization_settings: &ParameterizationSettings, ) -> Result<bool>

Source

fn sampling_channel_ids( &self, parameterization_settings: &ParameterizationSettings, ) -> Result<Vec<SamplingChannelId>>

Provided Methods§

Source

fn prepare_physical_overlaps( &mut self, _sample: &MomentumSample<ArbPrec>, _context: GraphTermEvaluationContext<'_, '_, ArbPrec>, ) -> Result<Option<TiVec<CutGroupId, Option<LUSharedOverlaps<ArbPrec>>>>>

Prepare physical center decisions at the original Arb point. Geometry is channel-independent for the same selector-accepted cut set; explicit channel selectors retain their source metadata. Amplitudes own their separate overlap preparation.

Source

fn compile_sampling_bridge<T: FloatLike>( &self, parameterization_settings: &ParameterizationSettings, settings: &RuntimeSettings, external_momenta: &[[T; 4]], orientation: Option<usize>, ) -> Result<SamplingChannelBridge<T>>

Compile the canonical full-frame sampling bridge for this graph. Process implementations own the graph-specific external signature and LMB setup; the sampler only supplies the already-resolved kinematics.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§