Draft: Seperated logging out from `TFCSParmaterizationBase`
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.