from msspec.calculator import MSSPEC
from msspec.utils import hemispherical_cluster, get_atom_index
from ase.build import bulk
from ase.visualize import view

copper = bulk('Cu', cubic=True)
cluster = hemispherical_cluster(copper, planes=3, emitter_plane=2)
cluster.emitter = get_atom_index(cluster, 0,0,0)

# Create a "calculator"
calc = MSSPEC(spectroscopy='PED', algorithm='inversion')
calc.set_atoms(cluster)

data = calc.get_theta_scan(level='2p3/2')

# Plot the result with the interactive GUI
data.view()
