-
Notifications
You must be signed in to change notification settings - Fork 98
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
Duplicate entries if FairVolumeList #1595
Comments
Both the transport engines and FairRoot allows for registering multiple nodes with the same volume/same volume name (copy mechanism). However currently such workflow logs errors in `FairVolumeList::addVolume()`. The commit reintroduces the check for same volume names in the `FairModule::AddSensitiveVolume()` function thus preventing registration of copy volumes. Fixes the issue FairRootGroup#1595.
Both the transport engines and FairRoot allow registering of multiple nodes with the same volume/same volume name (copy mechanism). However currently such workflow logs errors from `FairVolumeList::addVolume()`. The commit reintroduces the check for same volume names into the `FairModule::AddSensitiveVolume()` function thus preventing registration of copy volumes. Fixes the issue FairRootGroup#1595.
This is a consequence of fixing #1495, which removed duplicate searches. Now, the only check happens inside |
First: I agree with Dennis. Note: I think, we added the error message there, because the new implementation effectively (using For me it is still not clear, whether this is "expected" behaviour? If so, IMHO the caller that expects this behaviour should at least (using comments) document that this is "okay". All that said:
|
If you mean recently, no, we did not add it. It was already there for decades. |
Ohhh, okay. Then: With the move to unique_ptr it became even more important? |
No, why? |
Before 7f0f7f1 the passed volume was not destructed (and leaked). So any user of With the destruction the error message became a little more important. IMHO, if we remove the error message, we probably should remove the (deprecated) |
No, they could not. Even before the semantics was to transfer ownership. The caller had no chance to know otherwise. |
Or let me ask like this: give me a usage description for the |
Both the transport engines and FairRoot allow registering of multiple nodes with the same volume/same volume name (copy mechanism). However currently such workflow logs errors from `FairVolumeList::addVolume()`. The commit changes the LOG(error) to LOG(debug). Fixes the issue FairRootGroup#1595.
…th same name Both the transport engines and FairRoot allow registering of multiple nodes with the same volume/same volume name (copy mechanism). However currently such workflow logs errors from `FairVolumeList::addVolume()`, which in turn is called by `FairModule::AddSensitiveVolume()`. Since the `FairVolumeList::addVolume()` returns nullpointer in such cases, the commit moves `LOG` and changes it severity from `LOG(error)` in `FairVolumeList::addVolume()` to `LOG(debug)` in `FairModule::AddSensitiveVolume()`. Fixes the issue FairRootGroup#1595.
The transport engines allow registering of multiple nodes with the same volume/same volume name (copy mechanism). In `FairRoot` this mechanism works provided unique volume name over the whole geometry setup of different detectors. The commit clarifies the situtation: 1. for same volume names in one detector, it quenches the log message by moving `LOG` and changing it severity from `LOG(error)` in `FairVolumeList::addVolume()` to `LOG(debug)` in `FairModule::AddSensitiveVolume()`. 2. for same volume names accross different detectors, it crashes the program with appropriate `LOG(fatal)`. Fixes the issue FairRootGroup#1595.
The transport engines allow registering of multiple nodes with the same volume/same volume name (copy mechanism). In `FairRoot` this mechanism works provided unique volume name over the whole geometry setup of different detectors. The commit clarifies the situtation: 1. for same volume names in one detector, it quenches the log message by moving `LOG` and changing it severity from `LOG(error)` in `FairVolumeList::addVolume()` to `LOG(debug)` in `FairModule::AddSensitiveVolume()`. 2. for same volume names accross different detectors, the program prints appropriate `LOG(fatal)`. Fixes the issue FairRootGroup#1595.
Describe the bug
When running a simulation macro with PandaRoot a number of errors is created, all of the type:
The error shows up in the recent dev branch of FairRoot and is not present in v18.8.2
To Reproduce
Steps to reproduce the behavior:
The text was updated successfully, but these errors were encountered: