To construct a particle made of a core and a shell, use
composite_particle = ba.CoreAndShell(core, shell)
where shell is a simple particle generated by the
Particle constructor. The core can be any particle:
a simple particle, a nested core-and-shell particle (onion),
a Compound of several inclusions,
or a Mixture, which picks a random core
independently for each core-and-shell particle.
Adjust the internal positions of the core and shell with a prior call:
core.translate(core_position)
shell.translate(shell_position)
The composite_particle can also be translated as a whole.
Note that core must be fully contained in shell. The scattering is computed as the coherent sum of the scattering from shell and core where the scattering power of the latter has been modified by subtracting the scattering power of the shell material.
Prior to BornAgain 1.19.80, the constructor ParticleCoreShell had the
opposite argument order, namely (shell, core).