#include <PluginManager.hh>
Public Types | |
typedef DataConverterPlugin::t_eventid | t_eventid |
Public Member Functions | |
void | RegisterPlugin (DataConverterPlugin *plugin) |
DataConverterPlugin & | GetPlugin (t_eventid eventtype) |
DataConverterPlugin & | GetPlugin (const Event &event) |
Static Public Member Functions | |
static PluginManager & | GetInstance () |
static unsigned | GetTriggerID (const Event &) |
static int | IsSyncWithTLU (eudaq::Event const &ev, eudaq::TLUEvent const &tlu) |
static t_eventid | getEventId (eudaq::Event const &ev) |
static void | setCurrentTLUEvent (eudaq::Event &ev, eudaq::TLUEvent const &tlu) |
static void | Initialize (const DetectorEvent &) |
static lcio::LCRunHeader * | GetLCRunHeader (const DetectorEvent &) |
static StandardEvent | ConvertToStandard (const DetectorEvent &) |
static lcio::LCEvent * | ConvertToLCIO (const DetectorEvent &) |
static void | ConvertStandardSubEvent (StandardEvent &, const Event &) |
static void | ConvertLCIOSubEvent (lcio::LCEvent &, const Event &) |
Friends | |
class | _dummy |
The plugin manager has a map of all available plugins. On creating time every plugin automatically registeres at the plugin manager, wich adds the event type string and a pointer to the according plugin to a map. A generic event being received contains an identification string, and the plugin manager can deliver the correct plugin to convert it to lcio.
|
static |
Get the instance of the plugin manager. As this is a singleton class with private constructor and copy constructor, this is the only way to access it.
DataConverterPlugin & eudaq::PluginManager::GetPlugin | ( | PluginManager::t_eventid | eventtype | ) |
Get the correct plugin implementation according to the event type.
void eudaq::PluginManager::RegisterPlugin | ( | DataConverterPlugin * | plugin | ) |
Register a new plugin to the plugin manager.