Skip to main content

FeynmanGraph

Trait FeynmanGraph 

Source
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§

Source

fn get_emr_vec_cache<T: FloatLike>( &self, loop_moms: &LoopMomenta<F<T>>, external_moms: &ExternalFourMomenta<F<T>>, lmb: &LoopMomentumBasis, ) -> Vec<F<T>>

Source

fn num_virtual_edges(&self, subgraph: SuBitGraph) -> usize

Source

fn is_incoming_to(&self, edge: EdgeIndex, vertex: NodeIndex) -> bool

Source

fn add_signs_to_edges(&self, node_id: NodeIndex) -> Vec<isize>

Source

fn get_cff_inverse_energy_product(&self) -> Atom

Source

fn get_loop_number(&self) -> usize

Source

fn get_real_mass_vector<T: FloatLike>(&self, model: &Model) -> EdgeVec<F<T>>

Source

fn get_external_masses<T: FloatLike>( &self, model: &Model, ) -> TiVec<ExternalIndex, F<T>>

Source

fn get_energy_cache<T: FloatLike>( &self, model: &Model, loop_moms: &LoopMomenta<F<T>>, external_moms: &ExternalFourMomenta<F<T>>, lmb: &LoopMomentumBasis, ) -> EdgeVec<F<T>>

Source

fn get_esurface_canonization( &self, lmb: &LoopMomentumBasis, ) -> Option<ShiftRewrite>

Source

fn external_in_or_out_signature(&self) -> ExternalSignature

Source

fn get_external_partcles(&self) -> Vec<ArcParticle>

Source

fn get_external_signature(&self) -> SignatureLike<ExternalIndex>

Source

fn get_energy_atoms(&self) -> Vec<Atom>

Source

fn expected_scale(&self, e_cm: F<f64>, model: &Model) -> F<f64>

Source

fn dummy_list(&self) -> Vec<EdgeIndex>

Source

fn no_dummy(&self) -> SuBitGraph

Source

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".

Implementors§