pub trait GraphTerm {
// 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 lmb_channel_label(
&self,
channel_id: ChannelIndex,
parameterization_settings: &ParameterizationSettings,
) -> Result<Option<String>>;
fn warm_up(
&mut self,
settings: &RuntimeSettings,
model: &Model,
) -> Result<()>;
fn get_graph(&self) -> &Graph;
fn get_num_channels(
&self,
parameterization_settings: &ParameterizationSettings,
) -> usize;
fn get_num_orientations(&self) -> usize;
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) -> EdgeVec<Option<F<f64>>>;
}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 lmb_channel_label( &self, channel_id: ChannelIndex, parameterization_settings: &ParameterizationSettings, ) -> Result<Option<String>>
fn warm_up(&mut self, settings: &RuntimeSettings, model: &Model) -> Result<()>
fn get_graph(&self) -> &Graph
fn get_num_channels( &self, parameterization_settings: &ParameterizationSettings, ) -> usize
fn get_num_orientations(&self) -> usize
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) -> EdgeVec<Option<F<f64>>>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".