|Message: cold neutron spin tracking||Not Logged In (login)|
Click on the Forum title, e.g. on the "Forums by Category" page, to read a sequence of postings to the Forum and its threads all in one page. If you are only interested in one thread or the thread following a specific posting, click the thread or the posting, which takes you to a smaller page, which contains only the part you are interested in and may be easier to navigate.
Messages are "chained" if there are only replies at the first level, i.e. 1/1.html, 1/1/1.html etc. In case of "chained" messages the message number is replaced by the icon and there is no indentation.
Inline: Display the subject line only or also the text of the posting(s); for the choice "All" the "Outline" choices are switched off.
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
Outline: Choose the depth of the posting thread, successive toggle controls provide increasing detail.
|1||2||1||2 levels / 1 level (original posting)|
|2||3||2||3 levels / 2 levels|
|3||3||All||3 levels / all levels (all postings)|
Dear GEANT-ers, I would appreciate if people who have a better insight into the GEANT4 tracking could help me increase my productivity ;8-) My problem is the cold neutron spin tracking in the non-homogeneous magnetic field. I am using geant4.6.2.p01. Reading the exchange between Bertalan and Peter it appeared to me (at the first sight) that this problem is (basically) solved in G4. So I used the Peter's recipe with "G4Mag_SpinEqRhs.cc". First thing I notice is that the anomaly is hard-wired for muons. Second issue, the code will only change the spin of the charged particles because dSpin is multiplied by particle charge. I checked that code compiles and works for electrons, it does run, and does the spin procession, though I have not checked that the results are OK. So, I thought that for cold neutrons only thing necessary is to copy and rename "G4Mag_SpinEqRhs.cc" into, say, "G4Mag_Neutron_SpinEqRhs.cc", change "anomaly = 1.165923e-3;" into "anomaly = 2.913;" and set "ParticleCharge = -1;" to reflect the negative neutron magnetic moment and get non-zero dSpin ... But then I noticed that my "GetFieldValue" is not called at all for neutron, so there will be no tracking for (presumably) any neutral particle. Does that means that the G4 FieldManager checks the charge of the tracked particle and quits if it is dealing with neutral particle? Can this behavior be changed in an elegant way? And are the simple changes I was thinking of, outlined above, only ones necessary for the neutron spin tracking? (With a rush of cold neutron experiments I find google-ing that a number of people are working on the spin tracking simulations. If the full machinery already exists in G4 and an experienced C++ programmer can make the fixes in 10 mins, what are those people working on ...;8-?) Or is the whole problem more complicated and I am missing something? Best Regards, Emil Frlez
|Inline Depth:||Outline Depth:||Add message:|