pub trait FeynmanGraph {
Show 18 methods
// Required methods
fn get_emr_vec_cache<T: FloatLike>(
&self,
loop_moms: &LoopMomenta<F<T>>,
external_moms: &ExternalFourMomenta<F<T>>,
lmb: &LoopMomentumBasis,
) -> Vec<F<T>>;
fn num_virtual_edges(&self, subgraph: SuBitGraph) -> usize;
fn is_incoming_to(&self, edge: EdgeIndex, vertex: NodeIndex) -> bool;
fn add_signs_to_edges(&self, node_id: NodeIndex) -> Vec<isize>;
fn get_cff_inverse_energy_product(&self) -> Atom;
fn get_loop_number(&self) -> usize;
fn get_real_mass_vector<T: FloatLike>(&self, model: &Model) -> EdgeVec<F<T>>;
fn get_external_masses<T: FloatLike>(
&self,
model: &Model,
) -> TiVec<ExternalIndex, F<T>>;
fn get_energy_cache<T: FloatLike>(
&self,
model: &Model,
loop_moms: &LoopMomenta<F<T>>,
external_moms: &ExternalFourMomenta<F<T>>,
lmb: &LoopMomentumBasis,
) -> EdgeVec<F<T>>;
fn get_esurface_canonization(
&self,
lmb: &LoopMomentumBasis,
) -> Option<ShiftRewrite>;
fn external_in_or_out_signature(&self) -> ExternalSignature;
fn get_external_partcles(&self) -> Vec<ArcParticle>;
fn get_external_signature(&self) -> SignatureLike<ExternalIndex>;
fn get_energy_atoms(&self) -> Vec<Atom>;
fn expected_scale(&self, e_cm: F<f64>, model: &Model) -> F<f64>;
fn dummy_list(&self) -> Vec<EdgeIndex>;
fn no_dummy(&self) -> SuBitGraph;
fn all_st_cuts_for_cs(
&self,
source_nodes: HedgeNode,
target_nodes: HedgeNode,
initial_state_tree: &SuBitGraph,
) -> Vec<(SuBitGraph, OrientedCut, SuBitGraph)>;
}Required Methods§
fn get_emr_vec_cache<T: FloatLike>( &self, loop_moms: &LoopMomenta<F<T>>, external_moms: &ExternalFourMomenta<F<T>>, lmb: &LoopMomentumBasis, ) -> Vec<F<T>>
fn num_virtual_edges(&self, subgraph: SuBitGraph) -> usize
fn is_incoming_to(&self, edge: EdgeIndex, vertex: NodeIndex) -> bool
fn add_signs_to_edges(&self, node_id: NodeIndex) -> Vec<isize>
fn get_cff_inverse_energy_product(&self) -> Atom
fn get_loop_number(&self) -> usize
fn get_real_mass_vector<T: FloatLike>(&self, model: &Model) -> EdgeVec<F<T>>
fn get_external_masses<T: FloatLike>( &self, model: &Model, ) -> TiVec<ExternalIndex, F<T>>
fn get_energy_cache<T: FloatLike>( &self, model: &Model, loop_moms: &LoopMomenta<F<T>>, external_moms: &ExternalFourMomenta<F<T>>, lmb: &LoopMomentumBasis, ) -> EdgeVec<F<T>>
fn get_esurface_canonization( &self, lmb: &LoopMomentumBasis, ) -> Option<ShiftRewrite>
fn external_in_or_out_signature(&self) -> ExternalSignature
fn get_external_partcles(&self) -> Vec<ArcParticle>
fn get_external_signature(&self) -> SignatureLike<ExternalIndex>
fn get_energy_atoms(&self) -> Vec<Atom>
fn expected_scale(&self, e_cm: F<f64>, model: &Model) -> F<f64>
fn dummy_list(&self) -> Vec<EdgeIndex>
fn no_dummy(&self) -> SuBitGraph
fn all_st_cuts_for_cs( &self, source_nodes: HedgeNode, target_nodes: HedgeNode, initial_state_tree: &SuBitGraph, ) -> Vec<(SuBitGraph, OrientedCut, SuBitGraph)>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".