floating point exception in geane [message #6946] |
Mon, 16 June 2008 16:44 |
Anonymous Poster
|
|
From: *e18.physik.tu-muenchen.de
|
|
Hi,
I found a problem with geane. It is related to the propagation to the point of closest approach:
In the method CbmGeanePro::Track3ToPoint a floating point can be produced in two places (maybe even more, but to me it happened in two cases only):
m3 = 1./e3.Mag();
// e3.Mag()==0
and
xpR[1] = 0.5*(xp32[0]*xp3[0]/xp3[1]+ xp3[1]);
// xp3[1]==0
In the moment I work around this problem by throwing an exception if any of the two conditions happen. But of course this issure should be solved. I believe it happens when the 3 points lie in one line. I bet the behaviour depends on the stepping defined inb the geo file. Maybe that is why Sebastian diodnt see it before.
Anyway this should be dealt with. Since you dont use exception handling, you could use your error flags for this and abort the operation if this happens.
Cheers, Christian
|
|
|
Re: floating point exception in geane [message #6947 is a reply to message #6946] |
Mon, 16 June 2008 17:59 |
Lia Lavezzi
Messages: 291 Registered: May 2007 Location: Torino
|
first-grade participant |
From: *PV.INFN.IT
|
|
Hi Christian,
you are right, the problem concerned 3 points on the same line. We fixed it, now it should be ok, try updating the geane directory and rerun your macro: please tell me if you still have some problem.
I am just wondering how is it possible that you obtain the three points exactly on the same line... did you switch off the magnetic field or is it just a step size effect?
Ciao,
Lia.
|
|
|