The train driver pulled the emergency break, making a sudden stop. But he wasn't able to stop the vehicle in time to avoid a collision. The train rolled several metres over the man and child, who were lying longways inside the tracks.
The boy suffered light abrasions, and was taken to a local hospital. The family was cared for by a pastoral service.
The perpetrator, a 23-year old from nearby Gelsenkirchen in North-Rhine Westphalia, remained unhurt. Witnesses held him until police arrived on the scene.
The man, who was already known to police, was arrested. Police are currently investigating an attempted suicide and homicide, although the motives behind the crime remain unclear.