Reorganize into higher level module folders
Closes #594 (closed)
Here's the proposed new organisation for the Core modules:
Module | Content | Comment |
---|---|---|
Surfaces |
all top level surface classes and surface bounds | separated from rest of geometry because of EDM bindings |
Geometry |
all other geometry calls and geometry building tools |
GeometryID , GeometryContext moved from Utilities
|
EventData |
all event data objects | |
Material |
all material classes and material mapping tools |
MaterialInteractor to stay in Propagation
|
MagneticField |
all magnetic field related classes |
MagneticFieldContext , MagFieldUtils from Utilities
|
Propagator |
all propagation and extrapolation classes | including Navigator etc |
Fitter |
all fitting classes | KalmanFitter, GSF, etc. |
Seeding |
everything with seeding | might need a renaming to pattern recognition ? |
Vertexing |
everything with and for vertexing | |
Utilities |
the original utilities container |
The exact same modules should then also appear on the webpage (I have started working on this) as Core modules
and in the Tests
container.
Then, plugins should indicate some external dependency, e.g.
-
TGeoPlugin
: binding toTGeo
geometry -
DD4hepPlugin
: binding toDD4h4p
geometry -
GeoModelPlugin
: binding toGeoModel
geometry -
RootPlugin
: binding toroot
readers/writers -
JsonPlugin
: json based reading/writing
In a follow-up MR, the following Plugins
will disappear:
-
DigitizationPlugin
: code will split intoacts-core/Core
for the SpacePoint building andacts-fatras
for the digitisation -
IdentifiacationPlugin
: not needed anymore afterDigitizationPlugin
goes
Edited by Andreas Salzburger