How do I insert parallel geometry in a DICOM instance

Hi Geant4ers:
Hello, experts. I’ve been testing our design of radioactive seeds.I intend to use the DICOM example to test the effects of this radioactive seed in humans.I was advised to use parallel geometry to place my radioactive seeds if I wanted to insert them into the DICOM model.

To do this, I learned the extended example GB06, then wrote the header and source files that construct the parallel geometry as described in the example, and then registered the parallel geometry in the main function.

I haven’t set up the physics yet.But the weird thing is that even though it says “parallel geometry is established” on the terminal.I didn’t find the parallel geometry I defined in QT.So I want to ask the experts, What did I do wrong or did I forget any important steps?
I really look forward to your guidance and thank you for your help.

Hi , my impression is that you can’t see the parallel geometry in the visualisation. Again, this is my impression, I may be wrong. Maybe ask to Makoto Asai

Well, maybe it is. Thank you for answering that. It really worked for me. Cheers

You can visualize the parallel world geometry, but it’s non-obvious. The macro command is

/vis/drawVolume Worlds

(the default argument is “World”, which only draws the primary mass world).

If your geometry is anything like mine, you probably didn’t set any G4VisAttributes containers for your parallel-world volumes, so when it draws it may not be intelligible. That’s something to watch out for.

1 Like

I really appreciate your help and advice. I’ll try your method. Cheers

Another way to check that the volumes are there is to send tracks that traverse them and use /tracking/verbose 1
This is indeed the only safe way. Remember that you may see a volume in visualization but the tracks may not see it (if the volume protrude from its mother volume or is placed completely outside).

Thanks a million, your advice will be very helpful to me, thank you

Pedro, we’ve discovered that /tracking/verbose is not a reliable way to verify parallel-world volumes, It only prints out the mass-world volume name.

To my understanding when the step is produced because a change of volume is produced in the parallel world you will see in /tracking/verbose as process the name of the parallel process. This is enough to check the geometrical limits of your parallel world.

I think you’re right that it’s supposed to work that way. We make use of the parallel world to do our own “scoring” (not G4 built-in scoring, but our own SD attached to parallel volumes). When we run /tracking/verbose 1, we do see the steps at the “scorer” parallel volumes, and we see that the limiting process is the parallel world process, but the volume name printed out is always the mass world volume.

Here’s an example, where we defined three nested scoring volumes in the region of our thick lead shield:

G4WT0 >     2     -923     -968     81.8         1        0      300       383    Detector CoupledTransportation
G4WT0 >     3     -940     -986     81.8         1        0       25       408 Shield/Lead CoupledTransportation
G4WT0 >     4     -966 -1.01e+03     81.8         1        0     37.9       446 Shield/Lead Scorers
G4WT0 >     5   -1e+03 -1.05e+03     81.8         1        0       50       496 Shield/Lead Scorers
G4WT0 >     6 -1.03e+03 -1.09e+03     81.8         1        0       50       546 Shield/Lead Scorers
G4WT0 >     7 -1.08e+03 -1.13e+03     81.8         1        0     62.1       608 Shield/RadonBarrier CoupledTransportation
G4WT0 >     8 -1.12e+03 -1.17e+03     81.8         1        0     59.9       668    Detector CoupledTransportation

Here, the “Scorers” process is the name we gave to ParallelWorld. You see the step 3 where the geantino enters the lead, followed the three steps where it hits the nested scorers, but the volume name is the mass-world Shield/Lead (the parallel world volumes have different, identifiable names).

The cadmesh.hh header is downloaded from Github and used to build cad-generated STL entities. I included this header file in the source file of parallel geometry but started to report errors during compilation. Did I do something wrong? Thank you very much for your answer.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.