[Gate-users] system choice for energy centroid
Devin VanElburg
vanelbud at tbh.net
Fri Jun 5 17:44:47 CEST 2015
Hmm, interesting.
Should the TakeEnergyCentroid option work for an OpticalSystem also? I
have the same issues in this case, where I get a break and it says that
it cannot find an array repeated 'crystal' volume. This occurs despite
attaching 'crystal' volume to a cubicArray repeated volume, and 'pixel'
to my CrystalSD volume (as the wiki suggests). However, this occurs
before I even start the simulation. With a cylindricalPET system, it
fails after I start the DAQ.
Devin Van Elburg
------------------------
Physics w/ c/ Biomedical Physics
Lakehead University
>>> Marc Chamberland 06/05/15 9:47 AM >>>
Hi Devin,
I think you may have uncovered a bug there. I couldn’t reproduce the
error message you get (about failing to find the component corresponding
to the crystal array), but using the energy centroid policy does cause a
segmentation fault on my system with your macro. The crash seems to
occur in the code related to the new centroid policy. I’ll try to debug
it a bit more if I have time (so I can submit a bug report to the Gate
group), but you’ll have to work around it for now.
Marc
__________________________
Marc Chamberland, PhD
Department of Physics
Carleton University
Ottawa (ON)
On Jun 3, 2015, at 16:43, Devin VanElburg <vanelbud at tbh.net> wrote:
I have attached it. I have been tinkering with it a lot since inquiring
about this earlier, so I tried to go back and change back to what I had
before (I am working on generating and detecting optical photons with
this, but I have a lot more to do before I achieve that). I also changed
some materials to ones that are in the GateMaterials.db, as I have
defined and used many of my own. I'm sorry for the very unorganized
code, I've been hashing things in and out all day.
Regards,
Devin Van Elburg
------------------------
Physics w/ c/ Biomedical Physics
Lakehead University
>>> Marc Chamberland 06/03/15 3:21 PM >>>
Hmm, everything looks fine.
If you’re willing to share, send me a macro I can run to reproduce the
crash. I can’t promise I’ll have time to look that deeply into it, but
I’m always curious when a command that should work causes a crash
(and the official Gate developers can always use some help to debug!).
Marc
On Jun 3, 2015, at 14:52, Devin VanElburg <vanelbud at tbh.net> wrote:
Here is what I get with the describe command:
Idle> /gate/systems/cylindricalPET/describe
GATE object: 'systems/cylindricalPET'
Components:
GATE object: 'systems/cylindricalPET/base'
Attached to volume: cylindricalPET
Nb of children: 1
GATE object: 'systems/cylindricalPET/rsector'
Attached to volume: headblock
Nb of children: 1
GATE object: 'systems/cylindricalPET/module'
Attached to volume: crystalboard
Nb of children: 1
GATE object: 'systems/cylindricalPET/submodule'
Attached to volume: ---
Nb of children: 1
GATE object: 'systems/cylindricalPET/crystal'
Attached to volume: crystal
Nb of children: 4
GATE object: 'systems/cylindricalPET/layer0'
Attached to volume: lyso
Nb of children: 0
GATE object: 'systems/cylindricalPET/layer1'
Attached to volume: ---
Nb of children: 0
GATE object: 'systems/cylindricalPET/layer2'
Attached to volume: ---
Nb of children: 0
GATE object: 'systems/cylindricalPET/layer3'
Attached to volume: ---
Nb of children: 0
geometrical design type: 1
ring diameter: 8.014 cm
rsector axial pitch: 0 fm
rsector azimuthal pitch: 180 degree
rsector tangential size: 5.766 cm
rsector axial size: 5.module tangential pitch: 0 fm
submodule axial size: 5.766 cm
submodule tangential size: 5.766 cm
submodule axial pitch: 0 fm
submodule tangential pitch: 0 fm
crystal radial size: 1.3 cm
crystal axial size: 2.32 mm
crystal tangential size: 2.32 mm
crystal axial pitch: 2.4 mm
crystal tangential pitch: 2.4 mm
layer0 radial size: 1.3 cm
in layer0 interaction length: 6.5 mm
Axial nb of rsectors: 1
Azimuthal nb of rsectors: 2
Axial nb of modules: 1
Tangential nb of modules: 1
Axial nb of submodules: 1
Tangential nb of submodules: 1
Axial nb of crystals: 24
Tangential nb of crystals: 24
Radial nb of layers: 1
Idle>
Regards,
Devin Van Elburg
------------------------
Physics w/ c/ Biomedical Physics
Lakehead University
>>> Marc Chamberland <MarcChamberland at cmail.carleton.ca> 06/03/15 11:46
AM >>>
I had a quick look at the source code and can’t see anything obvious.
However, it was recently re-written, so there might still be bugs in it.
>From my limited experience and knowledge, I’d stick with the cylindrical
PET system for now. Also, can you post what you get when you do:
/gate/systems/cylindricalPET/describe
after you’ve defined your entire system? No idea if it’ll be of any
help, but when I run into bugs like this, I throw everything at the wall
and see what sticks, so to speak.
Marc
> On Jun 3, 2015, at 11:14, Devin VanElburg <vanelbud at tbh.net> wrote:
>
> Thanks for your input Marc!
>
> I'm not particularly comfortable with C++, so I don't want to be
poking around at the code. There must be something I'm missing. I'll
keep plugging away, and hopefully I find out what's causing my issue.
>
> Devin Van Elburg
>
> ------------------------
> Physics w/ c/ Biomedical Physics
> Lakehead University
>
>
> >>> Marc Chamberland 06/03/15 10:16 AM >>>
> Thanks, Devin. That’s much more clear.
>
> I’ve never used anything but the default policy. However at first
sight, it looks like you’re doing everything right. Maybe someone with
more experience can chime in, but it’s also possible this is a bug. If
you’re comfortable with C++, I’d suggest you take a quick look at the
area of the code where the error message is produced and see if anything
jumps at you.
>
> Marc
>
>
>> On Jun 3, 2015, at 10:04, Devin VanElburg <vanelbud at tbh.net> wrote:
>>
>> Hello Marc,
>>
>> I'll try and explain a little better what I'm trying to do. I have
defined my system as a PETscanner and attached the daughter volumes as
follows:
>>
>> /gate/systems/PETscanner/level1/attach headblock
>> /gate/systems/PETscanner/level2/attach crystalboard
>> /gate/systems/PETscanner/level3/attach crystal
>> /gate/systems/PETscanner/layer0/attach lyso
>> /gate/lyso/attachCrystalSD
>>
>> where 'crystal' is repeated as a cubicArray (24x24) and 'headblock'
is repeated twice with a ring repeater. I now have two opposing lyso
crystals with the attached CrystalSD. When using the default readout
policy:
>>
>> /gate/digitizer/Singles/readout/setPolicy TakeEnergyWinner
>>
>> My simulation runs fine, and the root output I receive is expected
(511keV peak as I am using a Na-22 source for positron annihilation) for
both Singles and Coincidences. However, when I try:
>>
>> /gate/digitizer/Singles/readout/setPolicy TakeEnergyCentroid
>>
>> I get a break with the following message:
>>
>> [systems/PETscanner::FindComponent]:
>> Could not find the request system component 'crystal'!
>>
>> -------- EEEE ------- G4Exception-START -------- EEEE -------
>> *** G4Exception : ProcessPulseList
>> issued by : GateReadout::ProcessPulseList
>> Failed to get the array component corresponding to the crystal.
Abort.
>>
>> *** Fatal Exception *** core dump ***
>> -------- EEEE -------- G4Exception-END --------- EEEE -------
>>
>>
>> *** G4Exception: Aborting execution ***
>> Aborted (core dumped)
>>
>>
>> What I take from this is that I need to use a system that I can
attach a volume to a so-called 'crystal' level. I've >> /gate/systems/cylindricalPET/rsector/attach headblock
>> /gate/systems/cylindricalPET/module/attach crystalboard
>> /gate/systems/cylindricalPET/crystal/attach crystal
>> /gate/systems/cylindricalPET/layer0/attach lyso
>> /gate/lyso/attachCrystalSD
>>
>> that way, I have attached my 'crystal' volume to a 'crystal' level in
the system hierarchy as I assume the error message suggested. Even
still, I get the break segmentation violation. I also get the same error
when switching to TakeEnergyCentroid for the cylindricalPET example that
GATE supplies. The wiki says to ensure the Depth is taken just above the
crystal, which I did. In fact I tried running it with the depth at all
levels and they all failed. I'm at a loss, I can't seem to get the
TakeEnergyCentroid policy to work despite my best efforts!
>>
>> By the way, ignore my comment with my previous email concerning the
number of plates with a ring repeater. That was a readout depth issue
and it's working now.
>>
>> I'd appreciate any help I can get here!
>>
>> Regards,
>> Devin Van Elburg
>>
>> ------------------------
>> Physics w/ c/ Biomedical Physics
>> Lakehead University
>>
>>
>>
>>
>> >>> Marc Chamberland 06/02/15 5:00 PM >>>
>> Hi Devin,
>>
>> I’m not sure I understand what you’re trying to do and what failed to
work. Can you provide more details?
>>
>> Also, did you attach a crystalSD to your plates, as outlined here:
http://wiki.opengatecollaboration.org/index.php/Users_Guide_V7.1:Attaching_the_sensitive_detectors#The_crystalSD
>>
>> Cheers,
>> Marc
>>
>>
>>
>> __________________________
>>
>> Marc Chamberland, PhD
>> Department of Physics
>> Carleton University
>> Ottawa (ON)
>>
>>> On Jun 2, 2015, at 16:49, Devin VanElburg <vanelbud at tbh.net> wrote:
>>>
>>> Hello gate users,
>>>
>>> I am simulating a PET system with two plates. I would like to use
the takeEnergyCentroid option for the digitizer's readout. However, I
need to attach a volume to a 'crystal' of a system (according to the
error message I keep getting). Thus a PETscanner system cannot work
since it uses level1-4 and layers for system attachment. The I tried a
cylindricalPET system with a ring repeater of 2, and that also didn't
work. Interestingly, cylindricalPET works for a 4+ plate ring system,
but no singles or coincidences in the output for 2-3 plates (with only
the ring repeat number changed). Can anyone offer any insight as to what
I should do?
>>>
>>> Regards,
>>> Devin Van Elburg
>>>
>>> ------------------------
>>> Physics w/ c/ Biomedical Physics
>>> Lakehead University
>>> _______________________________________________
>>> Gate-users mailing list
>>> Gate-users at lists.opengatecollaboration.org
>>> http://lists.opengatecollaboration.org/mailman/listinfo/gate-users
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opengatecollaboration.org/mailman/private/gate-users/attachments/20150605/1983db7c/attachment-0001.html>
More information about the Gate-users
mailing list