-
Notifications
You must be signed in to change notification settings - Fork 157
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor!: Simplify CKF SourceLinkAccessor and make fewer assumptions (…
…#1203) This PR migrates the CKF's source link accessor away from a class with 3 necessary methods to a single delegate that is given as part of the options. At the same time it changes the lookup key from the raw geometry identifier to the current surface, which will allow navigating to experiment specific detector elements without the need to go through a map lookup. The CKF options move from being templated on the source link accessor itself to the source link accessor **iterator type**. The delegate is then defined as returning a range (a pair of) source link iterators, and those are used. Previously, source link accessors needed to implement three methods: ```cpp size_t count(GeometryIdentifier id) const; std::pair<Iterator, Iterator> range(GeometryIdentifier id) const; const SourceLink& at(Iterator it) const; ``` which is now changed to a callable like ```cpp std::pair<Iterator, Iterator> range(const Surface&) const; ``` which is accessed through the delegate. This PR also removes the obsolete methods. In addition the accessor was required to have a public *container* member which the `findTracks` method would accept and then set on the accessor. This is now assumed to happen before calling, the delegate can contain pointer to the accessor instance with the container already set. We believe this is better suited to environments with complex access call chains (e.g. ATLAS). BREAKING CHANGE: This changes the way source links are passed to the CKF `findTracks` method. Instead of taking a container of source links, it now assumed the CKF options have a source link accessor connected which is configured to be able to access that container.
- Loading branch information
1 parent
61e4021
commit 65d1e09
Showing
10 changed files
with
110 additions
and
80 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.