Kinematics initialization uses particle packet which is quite slow. It is not a problem when it is called only once. However, when the composite target (for example air) is used the kinematics is copied and initialized multiple time. This make large overhead:
The other problem is with adding a beam particles
Again, it is related to composite target and a current implementation that requires initialization for each interaction, because nuclei changes.
It is noticed, that some simple functions related to particles, like getting A, or charge consume unresonable long time considering they return just a single number. These numbers should be cached before usage.
particle
packet which is quite slow. It is not a problem when it is called only once. However, when the composite target (for example air) is used thekinematics
is copied and initialized multiple time. This make large overhead:Again, it is related to composite target and a current implementation that requires initialization for each interaction, because nuclei changes.
It is noticed, that some simple functions related to particles, like getting A, or charge consume unresonable long time considering they return just a single number. These numbers should be cached before usage.