Skip to content

McXtrace: SOLEIL_CRISTAL and SOLEIL_MARS test values off after Fluorescence fix (#3088) #3091

Open

Description

@willend

The full McXtrace test suite on main (run 43027588188, triggered by #3089) fails with two values off:

Instrument Detector Got %Test value Ratio
SOLEIL_CRISTAL CRISTAL_detector_diffraction_I 1537640 6.2037e+05 248 %
SOLEIL_MARS MARS_detector_diffraction_I 417087000 1.341e+08 311 %

The values are identical on Linux (gcc, classic and antlr), macOS (clang) and Windows (MSVC), over two attempts. Everything else in the suite passes (0 compile errors, 0 runtime errors).

Likely cause

Both instruments use FluoPowder, which does SHARE INHERIT Fluorescence. #3088 changed the cross-section normalisation and sampling in Fluorescence.comp and updated the test values of SOLEIL_ROCK and Test_FluoPowder, but not these two. Not verified by a before/after run of #3088.

Why #3088 was green

The "Check for modified instruments" step ran mxtest --instr=SOLEIL_ROCK,Test_FluoPowder --comp=Fluorescence, which selected only SOLEIL_ROCK, Test_FluoPowder and Test_Fluorescence. The --comp scope does not follow INHERIT, so instruments using FluoPowder were not run. #3089 touches the code generator, which triggers the full suite and exposed the mismatch.

To do

  • Confirm that the new values are the physically intended result of the normalisation fix (a factor 2.5-3 change), then update the %Test lines.
  • Consider letting the changed-component scope in mctest/mxtest follow INHERIT, so that users of derived components are tested too.

Unrelated noise in the same run: attempt 2 lost the two source-build jobs in "Setup MPI" to apt fetch failures from security.ubuntu.com.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions