LDMX Software
Classes | Namespaces | Macros | Typedefs
ConditionsObjectProvider.h File Reference

Base class for provider of conditions information like pedestals, gains, electronics maps, etc. More...

#include "Framework/Exception/Exception.h"
#include "Framework/ConditionsIOV.h"
#include "Framework/ConditionsObject.h"
#include "Framework/Configure/Parameters.h"
#include "Framework/Logger.h"
#include <map>

Go to the source code of this file.

Classes

class  framework::ConditionsObjectProvider
 Base class for all providers of conditions objects. More...
 

Namespaces

namespace  framework
 All classes in the ldmx-sw project use this namespace.
 

Macros

#define DECLARE_CONDITIONS_PROVIDER(CLASS)
 Macro which allows the framework to construct a producer given its name during configuration.
 
#define DECLARE_CONDITIONS_PROVIDER_NS(NS, CLASS)
 Macro which allows the framework to construct a producer given its name during configuration.
 

Typedefs

typedef ConditionsObjectProviderframework::ConditionsObjectProviderMaker(const std::string &objname, const std::string &tagname, const framework::config::Parameters &params, Process &process)
 Typedef for PluginFactory use.
 

Detailed Description

Base class for provider of conditions information like pedestals, gains, electronics maps, etc.

Author
Jeremy Mans, University of Minnesota

Definition in file ConditionsObjectProvider.h.

Macro Definition Documentation

◆ DECLARE_CONDITIONS_PROVIDER

#define DECLARE_CONDITIONS_PROVIDER (   CLASS)
Value:
const std::string& name, const std::string& tagname, \
framework::Process& process) { \
return new CLASS(name, tagname, params, process); \
} \
__attribute__((constructor(1000))) static void CLASS##_ldmx_declare() { \
framework::ConditionsObjectProvider::declare(#CLASS, &CLASS##_ldmx_make); \
}
Base class for all providers of conditions objects.
Class which represents the process under execution.
Definition Process.h:36
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:27

Macro which allows the framework to construct a producer given its name during configuration.

Parameters
CLASSThe name of the class to register, which must not be in a namespace. If the class is in a namespace, use DECLARE_CONDITIONS_PROVIDER_NS()
Attention
Every Producer class must call this macro or DECLARE_CONDITIONS_PROVIDER_NS() in the associated implementation (.cxx) file.

Definition at line 164 of file ConditionsObjectProvider.h.

168 { \
169 return new CLASS(name, tagname, params, process); \
170 } \
171 __attribute__((constructor(1000))) static void CLASS##_ldmx_declare() { \
172 framework::ConditionsObjectProvider::declare(#CLASS, &CLASS##_ldmx_make); \
173 }

◆ DECLARE_CONDITIONS_PROVIDER_NS

#define DECLARE_CONDITIONS_PROVIDER_NS (   NS,
  CLASS 
)
Value:
const std::string& name, const std::string& tagname, \
framework::Process& process) { \
return new NS::CLASS(name, tagname, params, process); \
} \
__attribute__((constructor(1000))) static void CLASS##_ldmx_declare() { \
framework::ConditionsObjectProvider::declare( \
std::string(#NS) + "::" + std::string(#CLASS), &CLASS##_ldmx_make); \
}

Macro which allows the framework to construct a producer given its name during configuration.

Parameters
NSThe full namespace specification for the Producer
CLASSThe name of the class to register
Attention
Every Producer class must call this macro or DECLARE_CONDITIONS_PROVIDER() in the associated implementation (.cxx) file.

Definition at line 184 of file ConditionsObjectProvider.h.

188 { \
189 return new NS::CLASS(name, tagname, params, process); \
190 } \
191 __attribute__((constructor(1000))) static void CLASS##_ldmx_declare() { \
192 framework::ConditionsObjectProvider::declare( \
193 std::string(#NS) + "::" + std::string(#CLASS), &CLASS##_ldmx_make); \
194 }