Rich: Deterministic pixel addresses, introduce CbmRichAddress
Context:
For the RICH CFV we decided to mask channels in the digitization step providing a masking file,
since the cameras are out of acceptance and the extra material is negligible for downstream detectors.
For more details see #3471
As mentioned by @f.uhlig in #2898, the current version uses
a simple counter for channel addresses and pmt Ids.
This may not be deterministic across different fairsoft versions, operating systems, compilers, etc.
This MR:
Now the channel addresses and pmt Ids are derived from node paths (only supports versions > v25),
instead of an unsafe counter. This is now deterministic and allows for example the safe use of a channel masking file.
Versions < v25 will still use the unsafe increment method as a fallback.
Changes
- Refactoring/cleanup of
CbmRichDigiMapManger
- Rename of
CbmRichDigiMapManger
->CbmRichGeoHandler
- Introduction of
CbmRichAddress
(similar to STS & FSD implementation) - In
CbmRichGeoHandler
mapping from RICH pmt pixel node paths to RichAddress (deterministic) - Remove obsolete class
CbmRichMCbmDigiMapManager
TODO's
-
Add support for v25 geometry, as node structure changed -
Fallback to old counter implementation of addresses for versions < v25 -
More testing -
(optional, for safety) Block usage of old tra, digi or reco files, since RICH pixel addresses changed