8#ifndef FRAMEWORK_CONDITIONSOBJECTPROVIDER_H_
9#define FRAMEWORK_CONDITIONSOBJECTPROVIDER_H_
14#include "Framework/Exception/Exception.h"
21#include "Framework/Configure/Parameters.h"
23#include "Framework/Logger.h"
48 std::shared_ptr<ConditionsObjectProvider>,
const std::string&,
67 const std::string& tagname,
80 virtual std::pair<const ConditionsObject*, ConditionsIOV>
getCondition(
157#define DECLARE_CONDITIONS_PROVIDER(CLASS) \
158 FACTORY_REGISTRATION(framework::ConditionsObjectProvider, CLASS)
Interval-of-validity object for conditions information.
Base class for conditions information like pedestals, gains, electronics maps, etc.
Header holding Factory class and supporting macros.
be configured to load conditions objects from CSV files.
Base class for all providers of conditions objects.
std::string object_name_
The name of the object provided by this provider.
virtual void onProcessStart()
Callback for the ConditionsObjectProvider to take any necessary action when the processing of events ...
std::pair< const ConditionsObject *, ConditionsIOV > requestParentCondition(const std::string &name, const ldmx::EventHeader &context)
Request another condition needed to construct this condition.
virtual void onNewRun(ldmx::RunHeader &)
Callback for the ConditionsObjectProvider to take any necessary action when the processing of events ...
const Process & process() const
Get the process handle.
DECLARE_FACTORY(ConditionsObjectProvider, std::shared_ptr< ConditionsObjectProvider >, const std::string &, const std::string &, const framework::config::Parameters &, Process &)
declare that we have a factory for these types of classes
std::string tagname_
The tag name for the ConditionsObjectProvider.
virtual void onProcessEnd()
Callback for the ConditionsObjectProvider to take any necessary action when the processing of events ...
virtual std::pair< const ConditionsObject *, ConditionsIOV > getCondition(const ldmx::EventHeader &context)=0
Pure virtual getCondition function.
ConditionsObjectProvider(const std::string &objname, const std::string &tagname, const framework::config::Parameters ¶meters, Process &process)
Class constructor.
const std::string & getTagName() const
Access the tag name.
virtual void releaseConditionsObject(const ConditionsObject *co)
Called by conditions system when done with a conditions object, appropriate point for cleanup.
logging::logger the_log_
The logger for this ConditionsObjectProvider.
virtual ~ConditionsObjectProvider()=default
Class destructor.
Process & process_
Handle to the Process.
const std::string & getConditionObjectName() const
Get the list of conditions objects available from this provider.
Base class for all conditions objects, very simple.
Class which represents the process under execution.
Class encapsulating parameters for configuring a processor.
All classes in the ldmx-sw project use this namespace.