Skip to content

Turn the LArWheelCalculator into a portable piece of code.

Joseph Boudreau requested to merge (removed):PORTABLE-LAR-SHAPE into master

Modifications in this commit are generally aimed at making the LArWheelCalculator code usable outside of Athena. The most obvious use case is fullSimLight, where today code is duplicated. The major change is that the LArWheelCalculator does not initialize itself from the Oracle database, and access to the MessageService or any other Gaudi services can be switched off if run outside of Athena. Instead:

  • the database constants are accessed from the client, and passed to the constructor in the form of nested structures.

  • a "portable" message stream replaces the familiar one... but only outside of Athena.

Also,

  • a small number of root-based matrix manipulations are replaced with equivalent Eigen routines... but only outside of Athena.

  • a few hardwired numbers are replaced by numbers obtained from the database.

A new macro PORTABLE_LAR_SHAPE switches in any changes at compile time when the code is run in an athena-independent mode.

Tests of this code give bitwise identical results in the most recent nightly (5 MinBias events tested)

Merge request reports