I have a question about using the G4Mag_SpinEqRhs class to track the spin deflection direction of proton, antiproton and lambda particles in an environment with only 1 Tesla uniform magnetic field and no electric field. Obviously, this is a calculation based on the BMT equation.
For proton and antiproton, I think the results of the calculation, namely the direction and magnitude of the spin deflection, are in line with my expectations. But the problem lies in the calculation of lambda particles, which have no charge and have an anomalous magnetic moment (negative magnetic moment). However, the calculation results show that its spin deflection direction is actually the same as proton, which is different from my understanding of the BMT equation. And I translated these results to the laboratory system, because the BMT equation calculates the spin deflection of the particle at rest, and the results are as follows:
All particles have the same initial state: polarization(0,1,0) momentum direction
(1,0,0) , BField (0,0,-1)
results:
Proton:
Spin in rest: (-0.030342289543679, 0.99953956673323, -5.4732717804546e-19)
Spin in laboratory: (-0.035273581154613, 0.99950176680454, -8.4929057325571e-19)
Antiproton:
Spin in rest: (0.030342289543679, 0.99953956673323, 5.4732717804546e-19)
Spin in laboratory: (0.04509478120753, 0.9994264841624, 1.4506833009627e-18)
Lambda:
Spin in rest: (-0.0045694683671752, 0.99998955992492, 6.2315999996616e-20)
Spin in laboratory: (-0.0068074068315257, 0.99998955992492, -7.4718208856165e-20)
So I checked the G4Mag_SpinEqRhs source code file G4Mag_SpinEqRhs.cc and found that the cause of this is:
if ( spin != 0. )
{
g_BMT = (std::abs(magMoment)/muB)/spin;
}
...................
if (charge == 0.)
{
pcharge = 1.;
}
I thought the spin deflection of lambda would be the same as the antiproton in the laboratory(because they all have negative magnetic moments), but the above source code logically seems to result in it being the same as the proton. I don’t understand.
So I really look forward to your answer to this question, thank you for your attention.
_Geant4 Version:_v11.2.2
Operating System:
Compiler/Version:
CMake Version: