[Gate-users] [Gate] Fix the use of IAEA phase space files (#34)

David Sarrut David.Sarrut at creatis.insa-lyon.fr
Wed Jun 10 08:05:17 CEST 2015


yes Alex, but most of the time, standard type are enough, and it is
simpler. Only some in/out operations (such as IAEA phase space) require
carefully controlled types. I prefer to be specific only in that kind of
situations.

thanks,
David

On Tue, Jun 9, 2015 at 9:16 PM, Alex Vergara Gil <alexvergaragil at gmail.com>
wrote:

> It maybe be a good idea to have our own independent GateInt typedef,
> so we can change only one line if time changes definition of int or
> even std::int. There are already a G4int for this reason, so we can
> use it.
>
> My 2c
>
> Alex
>
> 2015-06-09 6:58 GMT-04:00, Kris Thielemans <kris.f.thielemans at gmail.com>:
> > Hi
> >
> >
> >
> > A quick comment on the following:
> >
> > ----------
> >
> > things seem to be outdated, for instance in the "GateIAEAConfig.h" the
> > definition 'typedef long IAEA_I32' must be replaced with 'typedef int
> > IAEA_I32' in order to conform to the current ".IAEAphsp" file format.
> >
> > -----------
> >
> >
> >
> > This change will be compiler/system/time dependent. I don’t know what the
> > GATE policy is, but in STIR we use boost::int32_t. if you don’t care
> about
> > older compilers, you should use std::int32_t (from <cstdint>) I guess.
> >
> >
> >
> > Kris
> >
> > From: gate-users-bounces at lists.opengatecollaboration.org
> > [mailto:gate-users-bounces at lists.opengatecollaboration.org] On Behalf Of
> > David Sarrut
> > Sent: 09 June 2015 00:57
> > To: gate-users; germano.russo at i-seecomputing.com
> > Subject: Re: [Gate-users] [Gate] Fix the use of IAEA phase space files
> > (#34)
> >
> >
> >
> > Hello Germano Russo,
> >
> >
> >
> > thank you very much for your pull-request, it has been merged (develop
> > branch). I think a lot of users will be happy to see IAEA phase space now
> > corrected in Gate.
> >
> >
> >
> > More details : https://github.com/OpenGATE/Gate/pull/34
> >
> >
> >
> > Sincerely,
> >
> > David
> >
> >
> >
> > On Mon, Jun 8, 2015 at 10:32 AM, germanorusso <notifications at github.com
> > <mailto:notifications at github.com> > wrote:
> >
> > I recently tried to use as source an IAEA phase space, specifically the
> > one named "VarianClinaciX_6MV_10x10_w1.IAEAphsp" (downloadable
> > from https://www-nds.iaea.org/phsp/photon1/), via the
> "/gate/source/[Source
> > name]/addPhaseSpaceFile" macro command.
> >
> > The simulation (Gate 7.0) run smoothly, however I got meaningless
> results.
> > Digging into the related Gate source code, I believe I found 3 bugs
> > for which I propose a correction in the 'fixIAEAphspSource' branch.
> >
> > 1) In the function 'GateSourcePhaseSpace::OpenIAEAFile()' the call
> > 'pIAEARecordType->initialize()' is placed after
> > 'pIAEAReader->getRecordContents(pIAEARecordType)'. These two lines shall
> be
> > swapped, otherwise the record contents information extracted form the
> IAEA
> > header and stored in the the object pointed by pIAEARecordType is cleared
> > by the initialisation operation.
> >
> > 2) The "GateIAEA" source files appear to be based on an old C++
> > implementation for handling phase spaces distributed by the IAEA. Some
> > things seem to be outdated, for instance in the "GateIAEAConfig.h" the
> > definition 'typedef long IAEA_I32' must be replaced with 'typedef int
> > IAEA_I32' in order to conform to the current ".IAEAphsp" file format.
> >
> > 3) In the function 'GateSourcePhaseSpace::GenerateIAEAVertex()' the
> > 'pIAEARecordType->w' variable seems to be misused in the expression 'dz
> *=
> > pIAEARecordType->w'. The 'pIAEARecordType->w' variable contains the Z
> > direction cosine of the particle, not just its sign. So it should rather
> be
> > 'dz = pIAEARecordType->w'. Since the 'pIAEARecordType->w' variable is
> > slightly smaller than 1, this mistake causes small errors in the
> > normalisation of the momentum (and hence of the kinetic energy).
> >
> > After having applied these correction, I was able to obtain an output
> dose
> > distribution for the 10x10 cm field quite close to the experimental data
> > reported in the documentation distributed by IAEA along with the IAEAphsp
> > and IAEAheader files
> > ("
> https://www-nds.iaea.org/phsp/photon1/VarianClinaciX_6MV_PHSPdoc_Gothenburg.pdf
> ").
> >
> > <
> https://cloud.githubusercontent.com/assets/8522577/8030667/fed03d40-0dc8-11e5-8a51-90eae801a36d.png
> >
> >
> >
> > <
> https://cloud.githubusercontent.com/assets/8522577/8030686/28bccb3c-0dc9-11e5-9075-8756f6952043.png
> >
> >
> >
> > <
> https://cloud.githubusercontent.com/assets/8522577/8030692/2e0595f6-0dc9-11e5-8da2-ed4992dd8c9b.png
> >
> >
> >
> >   _____
> >
> >
> > You can view, comment on, or merge this pull request online at:
> >
> >
> >   https://github.com/OpenGATE/Gate/pull/34
> >
> >
> > Commit Summary
> >
> >
> > * Reversed type of IAEA_I32 to int, according with the current IAEA
> > setting.
> >
> > * 1) In the function 'GateSourcePhaseSpace::OpenIAEAFile()' the call
> >
> >
> > File Changes
> >
> >
> > * M source/general/include/GateIAEAConfig.h
> > <https://github.com/OpenGATE/Gate/pull/34/files#diff-0>  (5)
> >
> > * M source/physics/src/GateSourcePhaseSpace.cc
> > <https://github.com/OpenGATE/Gate/pull/34/files#diff-1>  (5)
> >
> >
> > Patch Links:
> >
> >
> > * https://github.com/OpenGATE/Gate/pull/34.patch
> >
> > * https://github.com/OpenGATE/Gate/pull/34.diff
> >
> > —
> > Reply to this email directly or view it on GitHub
> > <https://github.com/OpenGATE/Gate/pull/34> .
> >
> >
> >
> >
> >
> >
> >
> > --
> >
> > David Sarrut, Phd
> > Directeur de recherche CNRS
> > CREATIS, UMR CNRS 5220, Inserm U 1044
> >
> > Centre de lutte contre le cancer Léon Bérard
> > 28 rue Laënnec, 69373 Lyon cedex 08
> > Tel : 04 78 78 51 51 <tel:04%2078%2078%2051%2051>  / 06 74 72 05 42
> > <tel:06%2074%2072%2005%2042>
> > http://www.creatis.insa-lyon.fr/~dsarrut
> > _________________________________
> >
> >  "2 + 2 = 5,  for extremely large values of 2"
> > _________________________________
> >
> >
>



-- 
David Sarrut, Phd
Directeur de recherche CNRS
CREATIS, UMR CNRS 5220, Inserm U 1044
Centre de lutte contre le cancer Léon Bérard
28 rue Laënnec, 69373 Lyon cedex 08
Tel : 04 78 78 51 51 / 06 74 72 05 42
http://www.creatis.insa-lyon.fr/~dsarrut
_________________________________
 "2 + 2 = 5,  for extremely large values of 2"
_________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opengatecollaboration.org/mailman/private/gate-users/attachments/20150610/42d6447f/attachment.html>


More information about the Gate-users mailing list