As getting started working on Geant4, I wonder, why people want to use SensitiveDetector vs SteppingAction.
To me, SD is very similar to a SteppingAction if you confirm the step is in a specific volume.
One can easily implement the same logic in the SteppingAction with a big switch case condition.
The only add-on to the SD that I can think of is the internal handle of Hits and Hits collections.
However, the Hit data structure is defined by the user, and hard to generalize.
One can also implement the private hit collections in SteppingAction as well.
So, why SD is used at all?