The modules used in your simulation are not working well for generating pulse signals. You are currently using the module ProjectionPropagation for the propagation of charge carriers inside the sensor volume. This module simply projects all charge carriers of a given type to the sensor surface, but does not produce any time-resolved information. However, this time information is relevant for generating pulses. I suggest to use the GenericPropagation module instead. If you should have a 3D mapping of the electric field and the weighting potential, you can also use the TransientPropagation module. Besides that, the modules you are using are fine.
If the visual output by double clicking the corresponding graphs is not sufficient for this confirmation, you can write the pulse data to file by using the module ROOTObjectWriter as the last module, which will write the pulses (and other information, if configured correspondingly) to file. You can then read the data using root, loading the library lib/libAllpixObjects.so, similarly to the macros and instructions provided here. If you should need more help on this, please let us know.
Thanks for your timely answer, which is very helpful to me.
I have a new question I’d like to ask you.
The pulse output is generated at each event. Is there any way to output one strip’s total pulse in order to reduce file size?
this is not implemented. In PulseTransfer and TransientPropagation there are graphs showing profiles of all pulses, but these take all pixels into account, not only a single one.
As the framework is open to the community and I currently wouldn’t have the time for it, please feel free to contribute and implement such a feature If you do so, we would be happy for a merge request
Sorry for the late reply. I think that the goal of merging pulse signals for all events can be achieved by using DepositionReader module. If all the event numbers are set to 0, there will be only one pulse for one strip or pixel in the CSA output.
I don’t know whether this can work correctly. The result of this operation is that the sequence information of time and position disappears. We only know how much energy is deposited at a certain place and time in a step. Does the sequence information affect the results?
this for sure works as long as the signal shape does not depend on its amplitude. If it does, which is the case in many amplifiers, this is not equal to averaging over multiple events.
Another solution would be to simulate all the events, write out the data and average the pulses per strip in an analysis script/macro.