INNER CODE UNIT · Rust
run
TeamAtomECS/AtomECS · src/dipole/mod.rs:78
fn run(&mut self, (ent, dipole_light, indices, updater): Self::SystemData) {
for (ent, _, _) in (&ent, &dipole_light, !&indices).join() {
updater.insert(ent, LaserIndex::default());
}
}
}
/// This plugin implements a dipole force that can be used to confine cold atoms.
///
/// See also [crate::dipole]
///
/// # Generic Arguments
///
/// * `N`: The maximum number of laser beams (must match the `LaserPlugin`).
pub struct DipolePlugin<const N : usize>;
impl<const N: usize> Plugin for DipolePlugin<N> {
fn build(&self, builder: &mut crate::simulation::SimulationBuilder) {
add_systems_to_dispatch::<N>(&mut builder.dispatcher_builder, &[]);