|Message: Re: Assigning regions in a nested parameterisation||Not Logged In (login)|
Click on the Forum title, e.g. on the "Forums by Category" page, to read a sequence of postings to the Forum and its threads all in one page. If you are only interested in one thread or the thread following a specific posting, click the thread or the posting, which takes you to a smaller page, which contains only the part you are interested in and may be easier to navigate.
Messages are "chained" if there are only replies at the first level, i.e. 1/1.html, 1/1/1.html etc. In case of "chained" messages the message number is replaced by the icon and there is no indentation.
Inline: Display the subject line only or also the text of the posting(s); for the choice "All" the "Outline" choices are switched off.
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
Outline: Choose the depth of the posting thread, successive toggle controls provide increasing detail.
|1||2||1||2 levels / 1 level (original posting)|
|2||3||2||3 levels / 2 levels|
|3||3||All||3 levels / all levels (all postings)|
Dear Jake, A nested parameterization provides new capabilities for parameterisations by allow the user to parameterise the material type of the final ('leaf') volume. But there is no capability to alter the region for what different final/leaf volumes - as these represent the same physical volume in memory. Since the regions are allocated by logical volume, there is no way in which all the leaf volumes, which share the same logical volume, can be assigned to a different region. I hope this clarifies the issue which you are encountering. In order to have different production thresholds for different volumes, they must be represented by different logical volumes. This will mean that you will need to create a different logical volume for each volume for which you want to have different tuple of (material, cut) , and then reuse it in the different locations in which you want to place a volume. Best regards, John On 22/07/16 08:57, Jake Forster wrote: > *** Discussion title: Geometry > > Hello, > > I would like to apply different physics to different voxels in a nested > parameterisation. The nested parameterisation is done following the RE02 > example. > > In the physics list I have defined default physics as well as physics > for the region "Target" (as in the microdosimetry example). > > In detector construction I define the region "Target" and apply cuts: > G4Region* fpRegion = new G4Region("Target"); > G4ProductionCuts* cuts = new G4ProductionCuts(); > G4Double defCut = 1*nanometer; > cuts->SetProductionCut(defCut,"gamma"); > cuts->SetProductionCut(defCut,"e-"); > cuts->SetProductionCut(defCut,"e+"); > cuts->SetProductionCut(defCut,"proton"); > fpRegion->SetProductionCuts(cuts); > > Then in nested phantom parameterisation, in the ComputeMaterial function > I add a voxel to the Target region by: > G4Region* aRegion = G4RegionStore::GetInstance()->GetRegion("Target"); > G4LogicalVolume* logVolume = physVolume->GetLogicalVolume(); > aRegion->AddRootLogicalVolume(logVolume); > > The code compiles and begins to run, but as soon as the particle enters > the phantom it segmentation faults. > > Is there something wrong with this approach? Is there another way to have different physics in different voxels? > > Thank you. > Kind regards, > Jake > > ------------------------------------------------------------- > Visit this GEANT4 at hypernews.slac.stanford.edu message (to reply or unsubscribe) at: > http://hypernews.slac.stanford.edu/HyperNews/geant4/get/geometry/1492.html
|Inline Depth:||Outline Depth:||Add message:|