Skip to content

Migrate away from using (3 value) RICH RadiatorArray to (2 value) DetectorArray

Christopher Rob Jones requested to merge RichSupportTwoValueRadArrayInit into master

( Note, branch here is based off of !4676 so that should be merged first. Until then, for the actual new changes here see commits from 21st Oct onwards. )

Migrate away from using the 3 value RadiatorArray, which implies the unused baggage of the first unused entry for Aerogel, to DetectorArray with a single entry for each RICH.

e.g., allows this

# First entry is always ignored ... Next are Rich1Gas, Rich2Gas
alg.RadValues = ( 0, 1, 2 )

to be streamlined to

# Values are Rich1Gas, Rich2Gas
alg.RadValues = ( 1, 2 )

One last comment. You might wonder why not entirely remove the Rich::Aerogel enum type and instead just have the Rich1Gas and Rich2Gas enums, and reduce the RadiatorArray down to only 2 values at the C++ level. The problem with this is that would mean the numerical values for the Rich1Gas and Rich2Gas enums would change, from 1 and 2 respectively, to 0 and 1. The current values have, for better or worse, found their way into a number of persistent locations (SIM,DIGI,DST) files and thus changing these labels now will just cause a major headache. This is why I instead intend to keep the values as they are, and instead migrate any usage of the RadiatorArrays to DetectorArrays, which are accessed with a different enum label (Rich1 and Rich2) the values for which are, and always have been, 0 and 1.

Edited by Christopher Rob Jones

Merge request reports