pub trait UltravioletGraph:
LMBext
+ FeynmanGraph
+ ParamBuilderGraph {
Show 18 methods
// Required methods
fn dummy_less_full_crown<S: SubGraphLike>(&self, subgraph: &S) -> S::Base
where S::Base: ModifySubSet<Hedge> + SubGraphOps;
fn numerator<S: SubGraphLike + SubSetOps>(
&self,
subgraph: &S,
without: &S,
) -> Numerator<AppliedFeynmanRule>;
fn denominator<S: SubGraphLike, T: Fn(&Edge) -> isize>(
&self,
subgraph: &S,
edge_powers: T,
) -> Atom;
fn compute_dod<S: SubGraphLike<Base = SuBitGraph> + SubSetOps>(
&self,
subgraph: &S,
) -> i32;
fn local_dod<S: SubGraphLike>(&self, subgraph: &S) -> i32;
// Provided methods
fn n_loops<S: SubGraphLike, E, V, H>(&self, subgraph: &S) -> usize
where Self: AsRef<HedgeGraph<E, V, H>> { ... }
fn boundary_pdg_set<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>(
&self,
subgraph: &S,
) -> BTreeSet<isize>
where Self: AsRef<HedgeGraph<E, V, H>> { ... }
fn internal_pdg_set<E: UVE, V, H, S: SubGraphLike>(
&self,
subgraph: &S,
) -> BTreeSet<isize>
where Self: AsRef<HedgeGraph<E, V, H>> { ... }
fn has_massive_boundary_external<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>(
&self,
subgraph: &S,
) -> bool
where Self: AsRef<HedgeGraph<E, V, H>> { ... }
fn ct_identifier<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>(
&self,
subgraph: &S,
) -> CTIdentifier
where Self: AsRef<HedgeGraph<E, V, H>> { ... }
fn approximation_scheme<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>(
&self,
subgraph: &S,
settings: &UVgenerationSettings,
dod: i32,
) -> ApproximationType
where Self: AsRef<HedgeGraph<E, V, H>> { ... }
fn classify_spinney<E: UVE, V, H>(
&self,
spinney: InternalSubGraph,
settings: &UVgenerationSettings,
lmb: &LoopMomentumBasis,
) -> Option<Spinney>
where Self: AsRef<HedgeGraph<E, V, H>> { ... }
fn classified_spinneys<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>(
&self,
subgraph: &S,
settings: &UVgenerationSettings,
lmb: &LoopMomentumBasis,
) -> Vec<Spinney>
where Self: AsRef<HedgeGraph<E, V, H>> { ... }
fn all_cycle_unions<E, V, H, S: SubGraphLike<Base = SuBitGraph>>(
&self,
subgraph: &S,
) -> AHashSet<InternalSubGraph>
where Self: AsRef<HedgeGraph<E, V, H>> { ... }
fn all_limits<E, V, H, S: SubGraphLike>(
&self,
subgraph: &S,
expr: &Atom,
expansion: Symbol,
lmb: &LoopMomentumBasis,
) -> Vec<(SubSet<LoopIndex>, Series<AtomField>)>
where Self: AsRef<HedgeGraph<E, V, H>> { ... }
fn wood<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>(
&self,
subgraph: &S,
) -> Wood
where Self: AsRef<HedgeGraph<E, V, H>> { ... }
fn wood_with_settings<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>(
&self,
subgraph: &S,
settings: &UVgenerationSettings,
lmb: &LoopMomentumBasis,
) -> Wood
where Self: AsRef<HedgeGraph<E, V, H>> { ... }
fn spinneys<E, V, H, S: SubGraphLike<Base = SuBitGraph>>(
&self,
subgraph: &S,
) -> AHashSet<InternalSubGraph>
where Self: AsRef<HedgeGraph<E, V, H>> { ... }
}Required Methods§
fn dummy_less_full_crown<S: SubGraphLike>(&self, subgraph: &S) -> S::Basewhere
S::Base: ModifySubSet<Hedge> + SubGraphOps,
Sourcefn numerator<S: SubGraphLike + SubSetOps>(
&self,
subgraph: &S,
without: &S,
) -> Numerator<AppliedFeynmanRule>
fn numerator<S: SubGraphLike + SubSetOps>( &self, subgraph: &S, without: &S, ) -> Numerator<AppliedFeynmanRule>
Get the numerator of the graph. If multiply_prefactor is true, the numerator is multiplied by the global prefactor. (just num not projector)
fn denominator<S: SubGraphLike, T: Fn(&Edge) -> isize>( &self, subgraph: &S, edge_powers: T, ) -> Atom
fn compute_dod<S: SubGraphLike<Base = SuBitGraph> + SubSetOps>( &self, subgraph: &S, ) -> i32
fn local_dod<S: SubGraphLike>(&self, subgraph: &S) -> i32
Provided Methods§
fn n_loops<S: SubGraphLike, E, V, H>(&self, subgraph: &S) -> usizewhere
Self: AsRef<HedgeGraph<E, V, H>>,
fn boundary_pdg_set<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>(
&self,
subgraph: &S,
) -> BTreeSet<isize>where
Self: AsRef<HedgeGraph<E, V, H>>,
fn internal_pdg_set<E: UVE, V, H, S: SubGraphLike>(
&self,
subgraph: &S,
) -> BTreeSet<isize>where
Self: AsRef<HedgeGraph<E, V, H>>,
fn has_massive_boundary_external<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>(
&self,
subgraph: &S,
) -> boolwhere
Self: AsRef<HedgeGraph<E, V, H>>,
fn ct_identifier<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>(
&self,
subgraph: &S,
) -> CTIdentifierwhere
Self: AsRef<HedgeGraph<E, V, H>>,
fn approximation_scheme<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>(
&self,
subgraph: &S,
settings: &UVgenerationSettings,
dod: i32,
) -> ApproximationTypewhere
Self: AsRef<HedgeGraph<E, V, H>>,
fn classify_spinney<E: UVE, V, H>(
&self,
spinney: InternalSubGraph,
settings: &UVgenerationSettings,
lmb: &LoopMomentumBasis,
) -> Option<Spinney>where
Self: AsRef<HedgeGraph<E, V, H>>,
fn classified_spinneys<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>(
&self,
subgraph: &S,
settings: &UVgenerationSettings,
lmb: &LoopMomentumBasis,
) -> Vec<Spinney>where
Self: AsRef<HedgeGraph<E, V, H>>,
fn all_cycle_unions<E, V, H, S: SubGraphLike<Base = SuBitGraph>>(
&self,
subgraph: &S,
) -> AHashSet<InternalSubGraph>where
Self: AsRef<HedgeGraph<E, V, H>>,
fn all_limits<E, V, H, S: SubGraphLike>(
&self,
subgraph: &S,
expr: &Atom,
expansion: Symbol,
lmb: &LoopMomentumBasis,
) -> Vec<(SubSet<LoopIndex>, Series<AtomField>)>where
Self: AsRef<HedgeGraph<E, V, H>>,
fn wood<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>(
&self,
subgraph: &S,
) -> Woodwhere
Self: AsRef<HedgeGraph<E, V, H>>,
fn wood_with_settings<E: UVE, V, H, S: SubGraphLike<Base = SuBitGraph>>(
&self,
subgraph: &S,
settings: &UVgenerationSettings,
lmb: &LoopMomentumBasis,
) -> Woodwhere
Self: AsRef<HedgeGraph<E, V, H>>,
fn spinneys<E, V, H, S: SubGraphLike<Base = SuBitGraph>>(
&self,
subgraph: &S,
) -> AHashSet<InternalSubGraph>where
Self: AsRef<HedgeGraph<E, V, H>>,
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".