Go to the documentation of this file.
17 #include <nlohmann/json.hpp>
42 .orThrow(
"Unable to set typesToSaveProperty",
"Histograming::Sink::Base" );
46 return BaseSink::initialize().
andThen( [&] {
67 binSaver->second( histoFile, component, name, ent );
72 auto dim =
j.at(
"dimension" ).template get<unsigned int>();
73 auto type =
j.at(
"type" ).template get<std::string>();
98 "Name of file where to save histograms" };
Gaudi::Property< std::string > m_fileName
Base class for all Sinks registering to the Monitoring Hub Should be extended by actual Sinks.
StatusCode andThen(F &&f, ARGS &&... args) const
Chain code blocks making the execution conditional a success result.
StatusCode setProperty(const Gaudi::Details::PropertyBase &p)
Set the property from a property.
StatusCode initialize() override
void flush(bool) override
pure virtual method to be defined by children and responsible for flushing current data of the Sink.
const std::string & name() const override
Retrieve name of the service
void registerHandler(HistoBinIdentification const &id, HistoBinHandler const &func)
void registerHandler(HistoIdentification const &id, HistoHandler const &func)
const ValueType & value() const
std::type_index typeIndex() const
function to get internal type
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
void applyToAllSortedEntities(Callable func) const
applies a callable to all monitoring entities ordered by component the callable will be called once p...
HistoRegistry m_registry
map of supported type and the way to handle them
Wrapper class for arbitrary monitoring objects.
HistoBinRegistry m_binRegistry
map of supported type and the way to handle them
Base(const std::string &name, ISvcLocator *svcloc)