This MR includes the first classes of the
HGTD_TrackingGeometry package, implemented to build the tracking geometry for the HGTD.
I have implemented the layers such that the surfaces are contained in a grid structure (implemented via a
(R,phi) polar coordinate of the HGTD surfaces' centre.
The search for compatible surfaces is done via the
HGTD_OverlapDescriptor which knows the layer it is associated to and navigate the grid to return for a given position the surface of the corresponding bin and the surrounding ones, namely +/-3 in
R-direction and +/-3 in phi. The tolerance (in number of steps) in the two direction is adjustable via two parameters of the
HGTD_OverlapDescriptor constructor and can be changed if needed.
EDIT: The number of steps has been adapted to fix some inefficiencies in searching for compatible surfaces.
The configurations implemented allows to find the HGTD tracking geometry layers and surfaces where expected. This is what can be visualised using the
ExtrapolationEngineTest (first layer on the positive endcap side):
Some changes are needed in the
HGTD_ModuleDesign class to obtain the correct rotation of the HGTD modules and hence surfaces.
Contains also code cleanup.
The material is not yet mapped on the layers. It will be implemented soon.