Add observation volume for volumetric detector
Currently, we have ObservationPlane
class which works well for the grand based cosmic ray observatory.
It would be good to have a ObservationVolume
with takes a 3D volume geometry such as sphere, box, cylinder as template argument and can record particles that arrive at its surface.
It can work for the volumetric detector such as neutrino telescope when simulating atmospheric muons and neutrinos.
This is a more generic implementation compare to #471 .