[Gate-users] Importing the entire "WORLD" from gdml file into Gate
Kirchhof, Simon
s.kirchhof at dkfz-heidelberg.de
Mon Jul 31 20:08:58 CEST 2017
Dear Andreas,
I'll give it a try and share my thoughts! As you've pointed out, GateDetectorConstruction has a GateBox volume which will be automatically registered as "world". I would be careful replacing "world" (with anything other than a GateBox), because I simply don't know what implications that would have... However, resizing "world" is obviously allowed and done in almost every simulation.
How about the following:
Implement as Messenger command (e.g. "/gate/<gdml-volume>/geometry/resizeWorldToGDMLWorld"):
1) Get the logical volume of your gdml-world from the G4GDMLParser and get the solid (assumably a G4Box) and it's size.
2) Change Gate's "world" volume to fit the size of your gdml-world. There should be a generic way of accessing the Gate "world" volume programmatically, maybe through the GateObjectStore.
Implement in GateGDMLVolume::ConstructOwnSolidAndLogicalVolume (as you've done it before, I guess?):
3) Do a placement of the gdml-world logical volume of into Gate's mother volume, i.e. "world".
This way you don't break with GATE's convention of having it's own world, but you make sure the geometry hierarchy provided by the gdml-world will fit into the (now somewhat redundant) Gate world. WARNING: I haven't tried to implement what I've described above.
Best regards,
Simon Kirchhof
--
Simon Kirchhof
Master Student
Division of Medical Physics in Radiation Oncology (E040)
German Cancer Research Center (DKFZ)
Foundation under Public Law
Im Neuenheimer Feld 280
69120 Heidelberg
Germany
Phone: +49 6221 42-2438
________________________________________
Von: Gate-users <gate-users-bounces at lists.opengatecollaboration.org> im Auftrag von Andreas Menzel <am at crystal-photonics.com>
Gesendet: Montag, 31. Juli 2017 15:24
An: Gate-users at lists.opengatecollaboration.org
Betreff: [Gate-users] Importing the entire "WORLD" from gdml file into Gate
Dear Gate community,
actually, I had asked this before but I guess the subject was not too
clear and it got buried in other topics. So, here my question is again:
In the meantime I finally succeeded in importing individual logical
volumes from a GDML file. I created a class GateGDMLVolume to achieve
this which inherits from GateVVolume and whose objects are inserted into
the GateObjectChild list.
Now, in some situations, it would be helpful to import the entire
geometry described by a GDML file, i.e. replace the world volume which
is provided by GateDetectorConstruction on startup. Which way to do this
would you think is the cleanest and easiest-to-use later? What I would
like to do is to import everything by means of two commands or even one,
i.e. setting the GDML file name and perhaps stating that I want to
import everything from it (using G4GDMLParser::GetWorldVolume).
Thanks a lot for your help!
Andreas Menzel
--
Dr. Andreas Menzel
Crystal Photonics GmbH
Albert Einstein Straße 16
D - 12489 Berlin
Germany
FAX.: +49 (0) 30 34669299
am at crystal-photonics.com
www.crystal-photonics.com
-------------------------
Geschäftsführer: Klaus Schwenkenbecher
Amtsgericht Berlin-Charlottenburg HRB 99822B
Steuer-Nr.: 37/109/21041
VAT-No.: DE 814612031
_______________________________________________
Gate-users mailing list
Gate-users at lists.opengatecollaboration.org
http://lists.opengatecollaboration.org/mailman/listinfo/gate-users
More information about the Gate-users
mailing list