|Message: Re: Different radii for the 'same' electron in B-field||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)|
I think that you are not extracting the points on the trajectory correctly. The points at which GetFieldValue is called are not on the trajectory of the particle. Following the RungeKutta method, the field is sampled at different trial points, coming from linear and higher order approximations of the final and intermediate points of a step. Then these are used to estimate the endpoint of a step, which is accepted if its estimate is deemed accurate enough (see below).
Of course if you used a method that assumed that the field was uniform, then it would only evaluate it at the step's starting point. But since your real problem has a non-uniform field it makes sense to use the general Runge-Kutta based methods.
To get the actual points of the trajectory, you should create and use a G4Trajectory of the endpoints of the steps or another way to store or print only the endpoints of each step. To find out how to create a trajectory please see section 5.1.6 of the Users Guide for Application Developers (UGAD), which you can find at http://cern.ch/geant4/G4UsersDocuments/UsersGuides/ForApplicationDeveloper/html/TrackingAndPhysics/tracking.html
On a related topic, for more information about obtaining the accuracy you require for your application, please see the UGAD, section 4.3 and in particular the part of 4.3.2 on "How to Adjust the Accuracy of Propagation" http://cern.ch/geant4/G4UsersDocuments/UsersGuides/ForApplicationDeveloper/html/Detector/electroMagneticField.html
In particular if you require high accuracy for the endpoints, you should choose small values for the epsilon parameters. In general these should be smaller than the ratio of the error in the radius (or endpoint) that you are willing to tolerate over the total distance travelled by the track (along the helix). I would expect good results with values the order 10^-5, and do not know fields which are measured better than about one part in 10^4 or so anyway. I note that values below 10^-9 or so will be very challenging to achieve and likely not meaningful due to precision issues.
Best regards, John Apostolakis
|Inline Depth:||Outline Depth:||Add message:|