CMS 3D CMS Logo

VisTwigFactroyService Class Reference

#include <VisFramework/VisFrameworkBase/interface/VisTwigFactroyService.h>

Inheritance diagram for VisTwigFactroyService:

IgStateElement

List of all members.

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

VisQueuedTwigcreateTwig (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
IgStatem_state


Detailed Description

Definition at line 19 of file VisTwigFactroyService.h.


Member Typedef Documentation

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)


Constructor & Destructor Documentation

VisTwigFactroyService::VisTwigFactroyService ( IgState state  ) 

Definition at line 19 of file VisTwigFactroyService.cc.

References ASSERT, and IgState::put().

00020 {    
00021     ASSERT (state);
00022     state->put (s_key, this);
00023 }

VisTwigFactroyService::~VisTwigFactroyService ( void   ) 

Definition at line 25 of file VisTwigFactroyService.cc.

References ASSERT, IgState::detach(), and m_state.

00026 {    
00027     ASSERT (m_state);
00028     m_state->detach (s_key);
00029 }


Member Function Documentation

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 }


Member Data Documentation

CallbackMap VisTwigFactroyService::m_callback [private]

Definition at line 52 of file VisTwigFactroyService.h.

Referenced by createTwig(), registerTwig(), and unregisterTwig().

IgState* VisTwigFactroyService::m_state [private]

Definition at line 51 of file VisTwigFactroyService.h.

Referenced by ~VisTwigFactroyService().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:35:44 2009 for CMSSW by  doxygen 1.5.4