How to force step length

I have defined a process and a particle to which the process is applicable. This process is of the G4VContinuousDiscreteProcess kind and I have implemented a GetContinuousStepLimit method, which proposes a step length. The process is a drift in an electric field, therefore the proposed step length is the full length of the drift region. The process is forced, so that it always happens. On top of that, I remove the Transportation process from my particle, since I don’t want it to apply.

If I run a simulation, I can see that the process occurs and the particle moves correctly according to it, from the cathode to the anode of the defined electric field, as desired. However, the step length associated to the process (which I retrieve through the GetStepLength() function of the Step class) is always zero. This is a problem in my simulation, because I’m using that step length to calculate the amount of electroluminescent photon created in the drift, which is proportional to the length of the drift region.

I have the following questions: how is the step length assigned? Which other process could be assigning a zero step length to a particle created by the user? Is there any other process than Transportation which I should turn off?

Finally, I’d like to remark that this behaviour has started happening with the 11.1 version of G4: in the 11.0 release, the step length was calculated correctly.

Thanks for the help!