Try to fix issues when we have just solenoid map
This should fix a few of the FPE we see.
-
The issue begins due to the fact that the "solenoid" zone (the one with id = 7000) ends at r ~ 1075. Which is a bit less than the Inner Detector volume. This prb we need to check with the map experts. The part outside is covered by another zone(s).
-
Then there is a bit of a logic issue which we try to adress here. If have a solenoid only map, we still use the toroid current to scale everything outside the solenoid zone ... Which then means we 0 the field for things at r ~ 1076 "late endcap TRT"
-
This is what we fix here (or try) if we have only solenoid ON map, we rely on the map for the 0s. And we use just the solenoid scale
-
We conversely do the same if Toroid is only on
ping @schaffer, @jmaurer , @strichte
There are some question we prb would need to ping the map experts.
As in reality what we seem to be doing when both on (the case I do not touch here ) is not the most accurate for r ~1076 but this seems to be there for some time from what I can tell ... (looking back even in svc
times)
Perhaps something for the future is to not just use the zone->id() but also see if the r,z are inside the Inner detector volume and then use the solenoid scale when both on.
But as said the case of a map with both on (the common case) is the one I do not want to touch here ....