I need to implement a new process for Gamma that includes both post-step and along-step DoIt functions. So far my implementation has not worked for no reason. I am curious to know if it is even possible to define an along-step interaction for Gamma. As far as I know, the only similar example would be the Cerenkov process. However, after taking a look at Cerenkov.cc it turned out that a post-step doit has been used for this process. Any advice or comments would be highly appreciated.
What is the physics that you’re trying to implement? So far as I know, there really aren’t “continuous” processes for photons. Faraday rotation is the only example that comes to mind, but since that doesn’t involve energy loss or momentum change, it can be implemented as PostStepDoIt in Geant4.
It’s a kind of reflection process at the crystallite level. For the along-step process, I need to get the step length and if it is less than a specific length (crystallite thickness), I have to calculate the probability of reflection. Then if it is going to be reflected, I have to change the step length to that specific length and change the particle direction. If not, I’ll let the particle goes in its original direction to the post-step point and have the predefined process. To the best of my knowledge, I can not implement this at the pre-step or post-step level. The former does not know the step length and the latter can not change the step length and apply the reflection process.