Understanding scoring mesh results


I am having an issue understanding the scoring mesh results. I stored the dose in a mesh of 100, 100, 100 mesh volume, with a mesh voxel size of 1 um. The results were dumped into the .csv file. It has Xi, Yi, Zi, Total Dose (Gy), Total^2, and events columns. As I understand first Xi, Yi, Zi are the voxels ID, where 0,0,0 is the central voxel in the mesh and 0,0,1 is the next voxel id along the z-axis of the mesh from the central voxel and so on? Is this right?

Using this mesh, I want to calculate the radial averaging of the dose. In my simulation, I shot the particles from the center of the spherical detector and placed the mesh volume over it and I want to score the dose as a function of radial distance. What is the easy way to do this task? This is something like drawing a line profile at the center of the mesh and save the data values, but I want to have a radial averaging of the data as I was using the isometric source of radioactive decay. Any help would be appreciated.

the indices start counting in a corner of your mesh.

1 Like

Thanks, Weller, for the reply. I couldn’t find the documentation about it, are your aware where this info is?

I don’t know where to find it, sorry.

however, it is really easy to verify, just make a 3x3 grid, and shoot one single particle into the center, see where it pops up :slight_smile:

I just verified it. And the 5th column seems the square of third column, (I might have misunderstood it) but the calculated values shown by G4 is different! Are you aware of it?

there is indeed a header for each column.
you are probably referring to the sum of squared values? useful for calculating statistical properties, such as standard deviations…

Header is: iX, iY, iZ, total (value) [Gy], total(val^2), entry {I was using mesh box volume}

This header just says, 5th column is total(val^2), therefore confusing! You think this reports the sum of squared values? That means the variance in each mesh voxels?

Thank you again.

for variance, you would have to divide by „entry“ or the number of events in your run, or some other value, depending on what specific statistics you are interested in (for this, one has to know what is going on in the individual simulation setup very thoroughly)

fyi: for your second initial question: Creating a spherical-shell detector - #5 by JDecunha

maybe you can simply attach a primitive scorer

/score/create/realWorldLogVol sphericalscoring_shell
/score/quantity/doseDeposit dose

to the approach described there?
otherwise: interpolating a carthesian grid to polar has been done once or twice before (e.g. Spherical interpolation in Matlab from Cartesian Grid - Stack Overflow)