-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DD4hep: Add Volume Processor #25768
DD4hep: Add Volume Processor #25768
Conversation
The code-checks are being triggered in jenkins. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-25768/8184
|
A new Pull Request was created by @ianna (Ianna Osborne) for master. It involves the following packages: DetectorDescription/DDCMS @civanch, @Dr15Jones, @cvuosalo, @ianna, @mdhildreth, @cmsbuild can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
please test |
The tests are being triggered in jenkins. |
-1 Tested at: f520330 You can see the results of the tests here: I found follow errors while testing this PR Failed tests: ClangBuild
I found compilation warning while trying to compile with clang. Command used:
See details on the summary page. |
Comparison not run due to Build errors/Fireworks only changes/No short matrix requested (RelVals and Igprof tests were also skipped) |
please test |
The code-checks are being triggered in jenkins. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-25768/8185
|
The tests are being triggered in jenkins. |
Pull request #25768 was updated. @civanch, @Dr15Jones, @cvuosalo, @ianna, @mdhildreth, @cmsbuild can you please check and sign again. |
Comparison job queued. |
Comparison is ready Comparison Summary:
|
+1 |
This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @davidlange6, @slava77, @smuzaffar, @fabiocos (and backports should be raised in the release meeting by the corresponding L2) |
+1 |
return v; | ||
} | ||
|
||
std::vector<std::string_view> split(std::string_view str, const char* delims) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this function return a vector? Wouldn't it be faster to pass a reference to a vector into the function to avoid the copying?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nope, no need to change the syntax. The compiler will take care of it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This form allows the compiler to do return value optimization.
return ret; | ||
} | ||
|
||
bool compare(std::string_view s1, std::string_view s2) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Aren't these last four methods const
? Actually, why are they in this class? I'm not understanding their relationship to the class.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The idea was to use this class as a replacement for the DDFilteredView. Unfortunately, it turns out that performance-wise the base class recursive "process" has problems and is not as fast as TGeoIterator (e.g. DFS).
So, I'm going to put it on ice until the developers will improve it and use ROOT API instead.
DDVolumeProcessor() = default; | ||
~DDVolumeProcessor() override = default; | ||
|
||
std::string_view stripNamespace(std::string_view v) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From our revised coding policy:
4.3 Header files must not contain any implementation except for class templates and code to be inlined.
This code should be moved to the cc file.
string_view
instead ofconst string&