Hello,
I have been trying to use the TransientPropagation module and PulseTransfer module along with an electric field and weighting potential simulated in TCAD to more accurately simulate the response of a hybrid pixel detector. The device I’m trying to simulate has 110um pitch, 300um p-in-n device, so hole-collecting, with a bias of 90V applied.
I’ve previously used the GenericPropagation and PulseTransfer modules with the electric field simulated in TCAD. However, using the TransientPropgation with the simulated weighting potential causes a segmentation fault when trying to write the output of the simulation to a root file using the ROOTObjectWriter module. It specifically fails when trying to write PropgatedCharge objects to the ROOT file (writing PixelCharge and DepositedCharge objects doesn’t produce any problems). I’ve included a copy of the simulation output and fault below. The key part is this part:
“Fatal in TBufferFile::AutoExpand: Request to expand to a negative size, likely due to an integer overflow: 0x80020c8e for a max of 0x7ffffffe.
aborting"
Using the TextWriter module in place of the ROOTObjectWriter module, it appears that the charge of all PropagatedCharge objects is zero (although all the DepositedCharge objects have non-zero charge). Given the error message mentions a request to “expand to a negative size”, it seems likely that this relates to the cause of the segmentation fault, but I can’t see why the PropgatedCharge objects would all have zero charge. I am not simulating any kind of recombination of the charge carriers at this stage. The fact the PropagatedCharge objects all have zero charge explains why all PixelCharge objects have zero charge associated with them.
I can’t see anything obviously wrong with my configuration or the electric field and weighting potentials. I have included plots of the weighting potential and electric field, along with the configuration files and screenshots of the TextWriter output showing the non-zero deposited charge objects and the zero-charge PropagatedCharge and PixelCharge objects below.
For reference, I’m running this on CentOS7 and the details of my configuration are as below:
Allpix Squared version v2.1.1-tar
built on 2022-02-22, 12:06:18 UTC
using Boost.Random 1.78.0
ROOT 6.22/02
Geant4 1062
It’s perhaps worth noting that Geant4 build I’m using does not have multi-threading enabled, and so neither does Allpix Squared, though I don’t see why that would be an issue.
If anybody can offer any help or advice, then it would be greatly appreciated!
Many thanks,
Kirsty
[Medipix_60keV_300um_110um_TransientPropagationTest.conf|attachment]
(upload://rSguupafuKfh8RvfiqXSEeKKAne.conf) (1.4 KB)
medipix3.conf (887 Bytes)
Medipix3_Detector.conf (100 Bytes)