Free 1d proton in magnetic field Question Statement

Consider a proton which has spin $1/2$ that is free to move throughout all locations $-\infty<x<\infty$. A magnetic field of constant magnitude $B_{\circ}$ is applied perpendicular to the $x$ axis. Let the Hamiltonian be given by:
  $$
\mathcal{H}=\frac{\hat{p}^2_{x}}{2m_{p}} - \mu_{p}\hat{S}_{z}B_{\circ}
$$
  What are the stationary states of this system, the energies of these states and the degeneracy of the states?

I'm not 100% clear on how to deal with Hamiltonians that operate on position space and spin space. From what I can tell, operators act on one or another, but not both. If that's true, then I would say that the spatial component of the wavefunction is just a plane wave $e^{ikx}$ since there's no potential energy. From there you could impose box normalization, which would make the energies just the energies of an infinite square well of length $L$ but it doesn't seem right to have to introduce the parameter $L$ like that. Is this approach correct?
The spin component is the vector $(\chi_{+}(t),\chi_{-}(t))^{T}$, which solves $- \mu_{p}\hat{S}_{z}B_{\circ}|\chi\rangle=i\hbar\frac{\partial}{\partial t}|\chi\rangle$. It seems like this would contribute some energy to the system, but I'm not sure how to find it. Is there any energy associated with this part? 
 A: One way to think about this is that the particle has two completely separate degrees of freedom, one associated to translations (i.e. position, momentum) and one associated to spin. You are right that in this case the two parts of the Hamiltonian act only on one or the other of these degrees of freedom. The operator $\hat{p}_x \equiv \hat{p}_x \otimes \hat{1}$ acts as the identity (it does nothing) on the spin degrees of freedom. Likewise, the operator $\hat{S}_z$ should technically be written as $\hat{1}\otimes \hat{S}_z$, because it is the identity on the translational degrees of freedom.
The state of the system is a direct product of translational and spin states:
$$|\Psi\rangle = |\psi\rangle \otimes |\chi\rangle $$
where $$\langle x |\psi \rangle = \psi(x)$$ is the wavefunction in the position representation, while $$|\chi\rangle = a |\uparrow\rangle + b|\downarrow\rangle$$ is the spin state, with $a$ and $b$ some complex numbers satisfying $|a|^2 +|b|^2 = 1$.
If you want to normalise the position wavefunction, you need to introduce a length scale. The usual procedure in this situation is to introduce periodic boundary conditions, i.e. $\psi(x) = \psi(x+L)$. This choice has the advantage of preserving the translation invariance so that the eigenstates look the same, unlike box boundary conditions. Then one takes $L\rightarrow \infty$ at the end of the calculation, if desired.
The spin surely gives a contribution to the energy. You know that it wants to align its magnetic moment with the magnetic field, so states where the spin is aligned (say $|\downarrow\rangle$) must have lower energy than anti-aligned states (say $|\uparrow\rangle$). The Hamiltonian is a sum of terms that act on the spin and translation Hilbert spaces separately, i.e. you can write
$$ \hat{H} = \hat{H}_x \otimes \hat{1} + \hat{1} \otimes \hat{H}_{spin}. $$
A general eigenstate is just a product of translational and spin eigenstates, and you can see that the eigenvalues just add:
$$ (\hat{H}_x \otimes \hat{1} + \hat{1} \otimes \hat{H}_{spin}) |\Psi\rangle = \hat{H}_x|\psi\rangle \otimes \hat{1}|\chi\rangle + \hat{1}|\psi\rangle  \otimes \hat{H}_{spin}|\chi\rangle = (E_x + E_{spin}) |\psi\rangle\otimes |\chi\rangle,$$
where $E_{spin}$ is proportional to an eigenvalue of the operator $\hat{S}_z$.
