Skip to content

Draft: Seperated logging out from `TFCSParmaterizationBase`

Henry Day-Hall requested to merge hdayhall/athena:henry_logging_3 into master

Logging in FastCaloSim was implemented as an in build feature of the class TFCSParametrizationBase. Specilaised logging is needed to facilitate compiling and running as a submodule of https://gitlab.cern.ch/atlas-simulation-fastcalosim/FCSParametrization

Having the TFCSParametrizaionBase include the logging directly had become inconvenient. We wanted to develop classes that had no need to be derived from TFCSParametrizationBase, but would want to do logging. We are quite sensitive to memory requirements. Including TFCSParametrizationBase just for logging would be undesirable.

This is now implemented as a mixin class MLogging.h. All inline, it's mostly macros.

Also added one macro ATH_MSG_NOCLASS that will print things outside classes. If ATH_MSG_NOCLASS("Hello world") is placed in the file /my/example/long/file/path.cxx at line 123 it will print

le/long/file/path.cxx@123  NOCLASS Hello world

this allows us to print things from stand alone functions and static functions without resorting to direct cout use.

Edited by Henry Day-Hall

Merge request reports