Sti improvements for unseen non-overlapping volumes

 Changes enacted:
  1. Zero sigma for projections to inactive material
  2. More explicit check on undefined hit errors
  3. Removed truncation of volume names
It is important to understand what has been left in place, particularly the statement that many individual tracks will see the wrong amount of material, but the average material seen by an ensemble of tracks will be approximately correct, depending on how "non-radial" the tracks are (radial tracks will be very close to correct).

To convince myself of this, I wrote a small simulation (I will put the code in a comment below this blog post) where I could take rectangular volumes, and generate straight tracks which possibly intersected the volume, to get an average over an ensemble of tracks of the amount of that volume (area, really) "seen".

The simulation takes as input the dimensions of the volume (in 2D: thickness T [~radial] and width W [~azimuthal]) and the maximum crossing angle of tracks to be considered. It then creates tracks at all possible distances of passing through the center of the volume that could have a track traverse the volume given the maximum crossing angle to be considered.

As a first example, I use a volume with width W=0.5 cm and thickness T=5 cm, and consider tracks whose maximum crossing angle is 45°. The largest distance a track may come from crossing the center of this volume for which is might intersect the volume with a crossing angle of 45° is just under 3 cm. So the next set of three plots show the average amount of material traversed [cm] (expressed as colors) as a function of this distance-from-center and crossing angle for 3 descriptions:
  1. Ideal: the real amount of material
  2. Pseudo Sti: Sti's treatment of which tracks see the material, but always assuming any track that see the material sees the thickness T
  3. Actual Sti: Sti's treatment of which tracks see the material, and assuming the track see the thickness divided by the cosine of the crossing angle, such that tracks typically see even more material than is possible in reality

The next set of 3 plots are similar, simply showing the distribution of material traversed vs. distance-from-center (colors show number of tracks).

This demonstrates very well that Sti gets the amount of material seen incorrect for pretty much all tracks that should see a volume. How wrong? Here is a table from running my macro with different maximum crossing angles:

width [cm] thickness [cm] max. crossing angle [deg] avg. material [cm] (fraction of Ideal)
Ideal Pseudo Sti Actual Sti
0.5 5.0 45° 0.461496 0.422886 (0.916) 0.474593 (1.028)
0.5 5.0 40° 0.526286 0.472637 (0.898) 0.516517 (0.981)
0.5 5.0 35° 0.604097 0.572139 (0.947) 0.611472 (1.012)
0.5 5.0 30° 0.700546 0.671642 (0.959) 0.704635 (1.006)
0.5 5.0 25° 0.825327 0.820896 (0.995) 0.848270 (1.028)
0.5 5.0 20° 0.995222 0.970149 (0.975) 0.990484 (0.995)
0.5 5.0 15° 1.243447 1.218905 (0.980) 1.233080 (0.992)
0.5 5.0 10° 1.645085 1.616915 (0.983) 1.625192 (0.988)
0.5 5.0 2.415402 2.412935 (0.999) 2.416005 (1.000)
5.0 0.5 45° 0.461405 0.410448 (0.886) 0.460634 (0.998)
5.0 0.5 0.449428 0.450249 (1.002) 0.450822 (1.003)

The table makes it clear that when tracks are nearly all radial, Sti is doing very well. Even when crossing angles are diverse, Sti is still getting the numbers right within a few percent.

Also, when materials are oriented more azimuthally than radially, Sti does well for nearly any crossing angle. I will place the same plots as shown above now using a material with width = 5.0 cm, and thicknes 0.5 cm, but with the images shrunk down here (open them in a separate tab or window to see full scale).