[Gate-users] system choice for energy centroid

Marc Chamberland MarcChamberland at cmail.carleton.ca
Wed Jun 3 21:20:30 CEST 2015


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<mailto: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.766 cm
module axial size: 5.766 cm
module tangential size: 5.766 cm
module axial pitch: 0 fm
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<mailto: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<mailto: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<mailto: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 been playing with cylindricalPET and redefined my system as follows:
>>
>> /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<mailto: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<mailto: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/20150603/c2cf2880/attachment-0001.html>


More information about the Gate-users mailing list