Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a workaround for a ROOT bug that causes two relval tests to fail while reading files written with ROOT5.
Fixing the ROOT bug cannot cure the problem, because the ROOT bug is in ROOT5, not ROOT 6, and fixing the bug in ROOT5 would not magically update all files already written with ROOT 5.
The bug is that if a member of a persistent class specified in an xml selection file contains a Double32_t, the Double32_t is properly stored on disk only if there is a iotype selection rule for that field. If not, the item is stored as a double. The bug does not exist in ROOT6. ROOT6 expects a Double32_t, and cannot convert the double to a Double32_t, causing a fatal error. It is not easy to modify ROOT6 to do the conversion.
The easiest fix is to replace Double32_t with double in the code for those cases where there was no iotype selection rule. This does not increase the size on disk, because in these cases, they are already stored as double.
NOTE: At some time in the future, if we can enhance ROOT6 to do the double=>Double32_conversion when reading a file, this workaround could be removed. I do not know if that is feasible or not.