![]() |
![]() |
#include <VisFramework/VisFrameworkBase/interface/VisTwigFactroyService.h>
Public Types | |
typedef VisQueuedTwig *(* | CreateTwigCallback )(IgState *state, IgTwig *parent, const std::string &name, const std::string &friendlyName, const std::string &moduleLabel, const std::string &instanceName, const std::string &processName) |
Public Member Functions | |
VisQueuedTwig * | createTwig (const std::string &name, IgState *state, IgTwig *parent, const std::string &friendlyName, const std::string &moduleLabel, const std::string &instanceName, const std::string &processName) |
bool | registerTwig (const std::string &name, CreateTwigCallback createFn) |
bool | unregisterTwig (const std::string &name) |
VisTwigFactroyService (IgState *state) | |
~VisTwigFactroyService (void) | |
Private Types | |
typedef std::map< const std::string, CreateTwigCallback > | CallbackMap |
Private Member Functions | |
IG_DECLARE_STATE_ELEMENT (VisTwigFactroyService) | |
Private Attributes | |
CallbackMap | m_callback |
IgState * | m_state |
Definition at line 19 of file VisTwigFactroyService.h.
typedef std::map<const std::string, CreateTwigCallback> VisTwigFactroyService::CallbackMap [private] |
Definition at line 49 of file VisTwigFactroyService.h.
typedef VisQueuedTwig*(* VisTwigFactroyService::CreateTwigCallback)(IgState *state, IgTwig *parent, const std::string &name, const std::string &friendlyName, const std::string &moduleLabel, const std::string &instanceName, const std::string &processName) |
VisTwigFactroyService::VisTwigFactroyService | ( | IgState * | state | ) |
VisTwigFactroyService::~VisTwigFactroyService | ( | void | ) |
Definition at line 25 of file VisTwigFactroyService.cc.
References ASSERT, IgState::detach(), and m_state.
VisQueuedTwig * VisTwigFactroyService::createTwig | ( | const std::string & | name, | |
IgState * | state, | |||
IgTwig * | parent, | |||
const std::string & | friendlyName, | |||
const std::string & | moduleLabel, | |||
const std::string & | instanceName, | |||
const std::string & | processName | |||
) |
Definition at line 44 of file VisTwigFactroyService.cc.
References i, and m_callback.
Referenced by VisEventContentTwig::onPreEvent().
00050 { 00051 CallbackMap::const_iterator i = m_callback.find (name); 00052 00053 if (i == m_callback.end ()) 00054 { 00055 throw std::runtime_error ("Unknown Twig name."); 00056 } 00057 std::string twigName = friendlyName 00058 + std::string (":") + moduleLabel 00059 + std::string (":") + instanceName 00060 + std::string (":") + processName; 00061 00062 return (i->second)(state, parent, twigName, 00063 friendlyName, moduleLabel, instanceName, processName); 00064 }
VisTwigFactroyService::IG_DECLARE_STATE_ELEMENT | ( | VisTwigFactroyService | ) | [private] |
bool VisTwigFactroyService::registerTwig | ( | const std::string & | name, | |
CreateTwigCallback | createFn | |||
) |
Definition at line 32 of file VisTwigFactroyService.cc.
References m_callback.
Referenced by VisBasicClusterCollectionTwig::VisBasicClusterCollectionTwig(), VisCaloJetTwig::VisCaloJetTwig(), VisCaloMETTwig::VisCaloMETTwig(), VisCaloTowerTwig::VisCaloTowerTwig(), VisCandidateTwig::VisCandidateTwig(), VisCSCALCTDigiTwig::VisCSCALCTDigiTwig(), VisCSCCLCTDigiTwig::VisCSCCLCTDigiTwig(), VisCSCComparatorDigiTwig::VisCSCComparatorDigiTwig(), VisCSCCorrelatedLCTDigiTwig::VisCSCCorrelatedLCTDigiTwig(), VisCSCRecHit2DTwig::VisCSCRecHit2DTwig(), VisCSCRPCDigiTwig::VisCSCRPCDigiTwig(), VisCSCSegmentTwig::VisCSCSegmentTwig(), VisCSCStripDigiTwig::VisCSCStripDigiTwig(), VisCSCWireDigiTwig::VisCSCWireDigiTwig(), VisDT2DSegmentTwig::VisDT2DSegmentTwig(), VisDT4DSegmentTwig::VisDT4DSegmentTwig(), VisDTDigiTwig::VisDTDigiTwig(), VisDTRecHitsTwig::VisDTRecHitsTwig(), VisEcalRecHitTwig::VisEcalRecHitTwig(), VisEcalUncalibratedRecHitTwig::VisEcalUncalibratedRecHitTwig(), VisFEDRawDataCollectionTwig::VisFEDRawDataCollectionTwig(), VisGenJetCollectionTwig::VisGenJetCollectionTwig(), VisGenMETTwig::VisGenMETTwig(), VisGsfPFRecTrackTwig::VisGsfPFRecTrackTwig(), VisGsfTrackTwig::VisGsfTrackTwig(), VisHBHERecHitTwig::VisHBHERecHitTwig(), VisHepMCProductTwig::VisHepMCProductTwig(), VisHFDataFrameTwig::VisHFDataFrameTwig(), VisHFRecHitTwig::VisHFRecHitTwig(), VisHORecHitTwig::VisHORecHitTwig(), VisJetTagTwig::VisJetTagTwig(), VisL1GlobalTriggerReadoutRecordTwig::VisL1GlobalTriggerReadoutRecordTwig(), VisL1MuDTChambPhContainerTwig::VisL1MuDTChambPhContainerTwig(), VisL1MuDTChambThContainerTwig::VisL1MuDTChambThContainerTwig(), VisL1MuDTTrackContainerTwig::VisL1MuDTTrackContainerTwig(), VisMETTwig::VisMETTwig(), VisMuonTwig::VisMuonTwig(), VisPCaloHitTwig::VisPCaloHitTwig(), VisPFClusterTwig::VisPFClusterTwig(), VisPFRecHitTwig::VisPFRecHitTwig(), VisPFRecTrackTwig::VisPFRecTrackTwig(), VisPSimHitTwig::VisPSimHitTwig(), VisRPCDigiTwig::VisRPCDigiTwig(), VisRPCRecHitTwig::VisRPCRecHitTwig(), VisSimTrackTwig::VisSimTrackTwig(), VisSimVertexTwig::VisSimVertexTwig(), VisSuperClusterCollectionTwig::VisSuperClusterCollectionTwig(), VisTkIdealHelixTracksTwig::VisTkIdealHelixTracksTwig(), VisTkRecTrackDetsTwig::VisTkRecTrackDetsTwig(), VisTkRecTracksTwig::VisTkRecTracksTwig(), VisTkSimHitTwig::VisTkSimHitTwig(), VisTkSimTrackTwig::VisTkSimTrackTwig(), VisTrackerClusterTwig::VisTrackerClusterTwig(), VisTrackerDigiTwig::VisTrackerDigiTwig(), VisTrackerPiClusterTwig::VisTrackerPiClusterTwig(), VisTrackerPiDigiTwig::VisTrackerPiDigiTwig(), VisTrackerPiRechitTwig::VisTrackerPiRechitTwig(), VisTrackerRechit2DMatchedTwig::VisTrackerRechit2DMatchedTwig(), VisTrackerRechit2DTwig::VisTrackerRechit2DTwig(), VisTrackingParticleTwig::VisTrackingParticleTwig(), VisTrackingRecHitTwig::VisTrackingRecHitTwig(), VisTrackTwig::VisTrackTwig(), VisTrajectorySeedTwig::VisTrajectorySeedTwig(), and VisTriggerResultsTwig::VisTriggerResultsTwig().
00033 { 00034 return m_callback.insert (CallbackMap::value_type (name, createFn)).second; 00035 }
bool VisTwigFactroyService::unregisterTwig | ( | const std::string & | name | ) |
Definition at line 38 of file VisTwigFactroyService.cc.
References m_callback.
00039 { 00040 return m_callback.erase (name) == 1; 00041 }
CallbackMap VisTwigFactroyService::m_callback [private] |
Definition at line 52 of file VisTwigFactroyService.h.
Referenced by createTwig(), registerTwig(), and unregisterTwig().
IgState* VisTwigFactroyService::m_state [private] |