Split planar detector
This MR is for #98 (closed) (step 1), in order to split the Detector to Detector
as interface and PlanarDetector
as the implementation of the Cartesian coordinate system.
The modules would not be changed much in this MR to avoid it too big.
The configuration of using PlanarDetector
type would best be implemented in this branch, probably as
case(PlanarDetector) : std::shared_ptr<Detector> detector = std::make_shared<PlanarDetector> (detector_section) ;