Lift hole search boundary and sensitivity checking code into a new re-usable tool
The inner detector hole search tool (InnerDetector/InDetRecTools/InDetTrackHoleSearch/src/InDetTrackHoleSearchTool.cxx
) currently contains code that serves to check the boundaries and sensitivity of inner detector modules. Given the ongoing efforts to move away from this hole search tool in some places (for example, ATLIDTRKCP-256), it would be convenient to be able to re-use this code from other tools and services without having to duplicate the code.
The purpose of this merge request is, therefore, to lift the relevant boundary checking code out of the inner detector hole search tool and into its own, new tool which we can more easily use in other parts of the Athena code. This new tool started out as a virtually direct copy of the original code (the first few commits of this merge request), but we have also included some refactoring of this code to make it more compliant with modern C++ best practices. In addition, we include a new interface which this tool implements.
Note that this merge request does not remove the original code from the existing hole search. While the code could be replaced entirely by this new tool, such a change would require significant configuration changes as it would add and remove settings parameters in the hole search. That's not a change I'm comfortable making yet. In the end, this merge request doesn't modify any existing code, it simply adds a new tool that we will use in future merge requests. Therefore, the chances of this breaking anything should be extremely small.