Skip to content
Snippets Groups Projects
Commit 2cff72ed authored by scott snyder's avatar scott snyder Committed by scott snyder
Browse files

LArHV: Thread-safety cleanups.

The HV manager classes here mix together two kinds of information.
There is information about the structure of the cells, which is static,
and information about the actual HV settings, which derives from conditions
data and can change.

The managers are stored in the detector store.  As originally intended,
the manager classes get updated in place when conditions change.
The actual update of the HV data is done lazily through const methods
called by the accessors.
This is not thread-friendly.  Though earlier changes ameliorated
the worst of the issues, it's still difficult to ensure that there
can't be problems (and it is problematic to get the thread-safety
checker to accept the code).

Here, we rework these classes to put these issues to rest.  The conditions
information is firmly separated from the geometry information.
The geometry information remains part of the manager classes, while
the HV information is computed on request and returned in a separate
structure.  The inputs for this are the required conditions data objects.

For compatibility with previous usage, we also continue to support constructing
HV information with no explicit inputs.  This will use the obsolete
LArCablingTool rather than the HV mapping conditions object, so these
methods are tagged as not thread-safe.  The clients for this at this time
are the G4 initialization classes, which don't have the conditions objects
available.
parent 825882a5
No related branches found
No related tags found
6 merge requests!58791DataQualityConfigurations: Modify L1Calo config for web display,!46784MuonCondInterface: Enable thread-safety checking.,!46776Updated LArMonitoring config file for WD to match new files produced using MT,!45405updated ART test cron job,!42417Draft: DIRE and VINCIA Base Fragments for Pythia 8.3,!37845LArHV: Thread-safety cleanups.
Showing
with 569 additions and 436 deletions
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment