Update the plugin interface to accommodate the publishing of FPV and AXF nodes
This MR is the companion of MR GeoModelDev/GeoModel!8 (merged) , and must be built, in fact, on top of the latter.
This MR updates the plugins to follow the changes introduced in GeoModel to let users (subsystems, in particular) publish list of FullPhysVol and AlignableTransform nodes.
In particular:
- The
GeoVGeometryPlugin
class now features an additional constructor, which takes astd::string
as an argument, to set the plugin's name. The parameterized constructor also creates aunique_ptr
to an instance ofGeoModelKernel/GeoPublisher
. - The
GeoVGeometryPlugin
plugin owns theunique_ptr
as a private class member and it returns raw pointers to that by mean of thegetPublisher()
method. Classes that derive fromGeoVGeometryPlugin
will use thegetPublisher
method to get the raw pointer. - Simple plugins that do not have to publish nodes can use the default
GeoVGeometryPlugin()
constructor. The plugins that wish to publish nodes can use the parameterized constructor, then implement the publishing code in thecreate()
method. - The plugin's method
create(GeoVPhysVol*, bool)
now accepts an optional boolean argument to trigger/enable the publishing of GeoModel nodes by the plugin. Applications using the plugin can trigger the publishing by passing atrue
to thecreate(...)
method; then they can get the publisher pointer by calling the plugin'sgetPublisher()
method.
Merge request reports
Activity
mentioned in merge request GeoModelDev/GeoModel!8 (merged)
- Resolved by Riccardo Maria Bianchi
added 1 commit
- cab4c4bf - Moved to the newest version of plugin and publishing mechanism
added 4 commits
Toggle commit listadded 7 commits
-
d951f6ee...4e38e14c - 3 commits from branch
atlas:master
- 37d17d8b - Merge branch 'master' of ssh://gitlab.cern.ch:7999/atlas/GeoModelPlugins into...
- 9a135693 - Merge branch 'master' of ssh://gitlab.cern.ch:7999/atlas/GeoModelPlugins into...
- 94872d23 - Fix setup after the renaming of the CustomPublisher example folder
- c8c68e87 - Move LArPlugin example to the new GeoVGeometryPlugin and GeoPublisher
Toggle commit list-
d951f6ee...4e38e14c - 3 commits from branch
added 1 commit
- 10790f67 - Move AccordionPlugin example to the new GeoVGeometryPlugin and GeoPublisher
added 1 commit
- 9551a199 - Move HGTDPlugin example to the new GeoVGeometryPlugin and GeoPublisher
OK, the MR is now compatible with the latest changes in
GeoModel
. It can be merged as soon as GeoModelDev/GeoModel!8 (merged) will be merged.Edited by Riccardo Maria Bianchiadded 1 commit
- 935c4e10 - Removed GeoVStore from plugins, following the change in GeoModelKernel (GeoVStore was removed).
added 1 commit
- 619acc0c - Move to new publishing syntax to reflect latest changes in GeoPublisher
- Resolved by Riccardo Maria Bianchi
This is not critical (to me at least), but I think it would be good to update the description of this MR. Thanks.
added 1 commit
- 7d700820 - Updated plugins' interface to reflect the use of unique_ptr by the GeoVGeometryPlugin base class.
- Resolved by Riccardo Maria Bianchi
added 1 commit
- 934b8edf - Adapted plugins to latest changes in GeoModelKernel's GeoVGeometryPlugin and GeoPublisher
- Resolved by Riccardo Maria Bianchi
- Resolved by Riccardo Maria Bianchi
mentioned in commit 62c303bf