I have a simulation with 3 different G4Regions in which I want to implement different physics (by declaring them one-by-one as opposed to using a dedicated constructor), the Regions are:
- DefaultRegionForTheWorld in which I want to use a multiscattering model such as G4GoudsmitSaundersonMscModel etc.
- ROI a region in which I want to calculate track structure in water (essentially the same ones used as by G4EmDNAPhysics_option7) and
- NP a gold particle in which I want to use physics as in the AuNP-example with the dedicated processes D. Sakata.
I will not recite the PhysicsList in its entirety but will provide details upon request. It follows this pattern:
- Define msc-processes as well as their models
- Define water as well as the gold processes and initialize DummyModels for them
After this I define the physics for the different Regions by
- Deactivating the msc models below a certain threshold
- Activating the water models for the ROI and
- Activating the gold models for the NP up to that threshold
My expectation is that - below this threshold - these models are active where I explicitly activated them and only there, but what actually happens is that the gold-modes are active in the ROI as well (I know this because when increasing the tracking-verbosity I see particle interactions such as G4DNAELSEPAElasticModel occuring outside of the NP). This is strange for two reasons:
- I did not explicitly activate them
- the gold models are hard-coded to return zero-cross-sections if the material does not have the correct atomic number of Z=79. Energy-losses however are shown as zero (however the interactions are alls elastic scattering which should have minuscule energy loss)
I acknowledge that the issue might well be rooted in my faulty understanding of how such physics is to be set up in which case I am thankful for any pointers towards the right direction.
In practice I have fixed the - apparent - issue by explicitly deactivating the gold models in the NP-region (actually I just set their lower activation threshold to an energy that is way beyond any expected energy). With this method I do not see any unwanted processes and from what I can tell reasonable results are produced. It feels a bit hacky however.