I am trying to simulate a sensor and want to use the sensor_excess to set an amount of silicon in front of the active pixel area to get an appropriate filtering of the incoming x-ray spectra. However, when I try to use sensor_excess_top = 200um, I get 100um in front of the pixels, and 100um behind. No matter if I set sensor_excess_top = 200um sensor_excess_bottom = 0um
I get the same result with 100um in front and 100um behind.
The straight forward solution is of course to just set the excess to 400um to get the 200um in front, which is what I will do until further notice, but it seems like a bit of an inelegant solution.
Is this a bug or a feature?
My allpix version is:
Allpix Squared version v3.1.0-69-ge3851ecf8-dirty
built on 2024-11-06, 15:33:24 UTC
using Boost.Random 1.83.0
ROOT 6.32.04
Geant4 11.2.2
running on 16x AMD Ryzen 9 6900HS with Radeon Graphics
Copyright (c) 2016-2024 CERN and the Allpix Squared authors.
I did check the release notes of 3.1.1, but couldn’t find anything about the excess in there.
maybe this is a bad wording in the documentation - the excess is meant to add silicon on the four sides of the sensor, essentially extending the wafer area.
If you need another layer of silicon on top of your sensor, you can e.g. use the chip_thickness parameter, see here: Detector Models | Allpix Squared
Yes, the wording might be a bit missleading, but luckily that is not the problem. I understand that it adds on the sides, which is what I want to do. However, with pixels around 500um along the x-ray path, and adding “sensor_excess_top = 1700” yields in the visualization the following:
Indicating that it has divided the excess equally to the front and the back of the sensor → made me confused.
Looking further, however, I find that the track_start_z value for the interactions produce a histogram according to (x-ray source at z = -20mm pointing in (0,0,1) direction)
Which, given that the centre of the active pixels is at (0,0,0), the excess has been correctly applied on one side of the sensor, not in agreement with the visualization.
So I have come to the following conclusions:
The sensor_excess works as expected, with the caveat that the center of the active pixels is kept at (0,0,0) and not the center of the sensor including the excess,
The visualization module does not produce the expected results and is thus bugged in lack of better words
I have rotated the sensor in the wrong direction since I wanted the excess in front of the active pixels.
But please correct me if I am wrong.
And just to clarify the geometry: when we add the sensor to the world volume, with no additional rotation or translations, the center of the sensor is at the world (0,0,0). And given that the source is at z = -20mm pointing in (0,0,1), I would then need to orient the sensor according to orientation = -90deg 0deg 0deg to get the front of the sensor facing the source?