CMS 3D CMS Logo

Classes | Namespaces | Macros
PluginFactory.h File Reference
#include <map>
#include <vector>
#include "FWCore/PluginManager/interface/PluginFactoryBase.h"
#include "FWCore/PluginManager/interface/PluginManager.h"
#include "FWCore/Utilities/interface/thread_safety_macros.h"

Go to the source code of this file.

Classes

class  edmplugin::PluginFactory< T >
 
class  edmplugin::PluginFactory< R *(Args...)>
 
struct  edmplugin::PluginFactory< R *(Args...)>::PMaker< TPlug >
 
struct  edmplugin::PluginFactory< R *(Args...)>::PMakerBase
 

Namespaces

 edmplugin
 

Macros

#define DEFINE_EDM_PLUGIN(factory, type, name)   static const factory::PMaker<type> EDM_PLUGIN_SYM(s_maker, __LINE__)(name)
 
#define DEFINE_EDM_PLUGIN2(factory, type, name)   static const factory::PMaker<type> EDM_PLUGIN_SYM(s_maker2, __LINE__)(name)
 
#define EDM_PLUGIN_SYM(x, y)   EDM_PLUGIN_SYM2(x, y)
 
#define EDM_PLUGIN_SYM2(x, y)   x##y
 
#define EDM_REGISTER_PLUGINFACTORY(_factory_, _category_)
 
#define EDM_REGISTER_PLUGINFACTORY2(_factory_, _category_)
 
#define FWCORE_CONCATENATE(a, b)   FWCORE_CONCATENATE_HIDDEN(a, b)
 
#define FWCORE_CONCATENATE_HIDDEN(a, b)   a##b
 

Macro Definition Documentation

#define DEFINE_EDM_PLUGIN (   factory,
  type,
  name 
)    static const factory::PMaker<type> EDM_PLUGIN_SYM(s_maker, __LINE__)(name)

Definition at line 121 of file PluginFactory.h.

Referenced by AlignmentMonitorTemplate::afterAlignment(), AlignmentMonitorMuonResiduals::afterAlignment(), AlignmentMonitorTracksFromTrajectories::afterAlignment(), AlignmentMonitorSurvey::book(), CosmicNavigationSchool::buildAdditionalForwardLinks(), HGCalTriggerGeometryImp1::buildMaps(), PedeLabeler::buildReverseMap(), MomentumDependentPedeLabeler::buildReverseMap(), RunRangeDependentPedeLabeler::buildReverseMap(), HGCalTriggerGeometryHexImp1::buildTriggerCellsAndModules(), ReferenceTrajectoryFactory::bzeroFactory(), DavixStorageMaker::check(), LocalStorageMaker::check(), LStoreStorageMaker::check(), StormStorageMaker::check(), StormLcgGtStorageMaker::check(), EcalRecHitWorkerRecover::checkChannelStatus(), SimpleClusterProbabilitySeedComparitor::compatible(), CombinedSeedComparitor::compatible(), PixelClusterShapeSeedComparitor::compatibleHit(), SiPixelLorentzAngleCalibration::createFromTree(), SiStripLorentzAngleCalibration::createFromTree(), SiStripBackplaneCalibration::createFromTree(), fastsim::TrackerSimHitProducer::createHitOnDetector(), PFTauExtractor::depositFromObject(), PFCandWithSuperClusterExtractor::depositFromObject(), reco::tau::PFRecoTauMassPlugin::endEvent(), reco::tau::PFRecoTauEnergyAlgorithmPlugin::endEvent(), SimpleNavigationSchool::establishInverseRelations(), AlignmentMonitorGeneric::event(), DDLinear::execute(), ExpressionEvaluatorCut::ExpressionEvaluatorCut(), ExpressionEvaluatorCutWithEventContent::ExpressionEvaluatorCutWithEventContent(), L1TMuon::CSCCollector::extractPrimitives(), L1TMuon::RPCCollector::extractPrimitives(), AlignmentMonitorMuonSystemMap1D::MuonSystemMapPlot1D::fill_dydz(), L1TMuon::DTCollector::findBTIGroupForThetaDigi(), PhotonMVAEstimator::findCategory(), gen::PhotosInterface::flat(), DDAngular::fUnitVector(), fastsim::PairProduction::gbteth(), fastsim::Bremsstrahlung::gbteth(), EcalUncalibRecHitWorkerMaxSample::getAlgoDescription(), EcalUncalibRecHitWorkerFixedAlphaBetaFit::getAlgoDescription(), EcalUncalibRecHitWorkerRatio::getAlgoDescription(), EcalUncalibRecHitWorkerAnalFit::getAlgoDescription(), EcalUncalibRecHitWorkerWeights::getAlgoDescription(), EcalUncalibRecHitWorkerGlobal::getAlgoDescription(), EcalUncalibRecHitWorkerMultiFit::getAlgoDescription(), lumi::fPoly::getCorrection(), EcalBasicClusterLocalContCorrection::getEcalModule(), EG9X105XObjectUpdateModifier::getPtrForValueMap(), EG8XObjectUpdateModifier::getSaturationInfo(), PerfectResolutionModel::getTimeResolution(), EcalClusterEnergyCorrection::getValue(), EcalClusterLocalContCorrection::getValue(), EcalClusterCrackCorrection::getValue(), EcalClusterEnergyUncertainty::getValue(), EcalClusterEnergyUncertaintyObjectSpecific::getValue(), EcalClusterEnergyCorrectionObjectSpecific::getValue(), gen::EvtGenInterface::go_through_daughters(), muonisolation::CandViewExtractor::initEvent(), NullGeometry::initialize(), TrivialGeometry::initialize(), SurveyAlignmentAlgorithm::initialize(), fastsim::EnergyLoss::interact(), fastsim::NuclearInteractionFTF::interact(), HGCalTriggerGeometryV9Imp2::layerWithOffset(), HGCalTriggerGeometryHexLayerBasedImp1::layerWithOffset(), HGCalTriggerGeometryV9Imp1::layerWithOffset(), FTLSimpleRecHitAlgo::makeRecHit(), MTDRecHitAlgo::makeRecHit(), ETLUncalibRecHitAlgo::makeRecHit(), FTLSimpleUncalibRecHitAlgo::makeRecHit(), BTLUncalibRecHitAlgo::makeRecHit(), TwoBodyDecayTrajectoryFactory::match(), LowPtElectronModifier::modifyObject(), HttpStorageMaker::open(), GsiFTPStorageMaker::open(), tautools::RecoTauDistanceFromTruthPlugin::operator()(), reco::tau::RecoTauChargedHadronMultiplicityCleanerPlugin::operator()(), reco::tau::RecoTauRandomCleanerPlugin::operator()(), reco::tau::RecoTauDiscriminantCleanerPlugin::operator()(), reco::tau::RecoTauSoftTwoProngTausCleanerPlugin::operator()(), reco::tau::RecoTauTagInfoWorkaroundModifer::operator()(), reco::tau::RecoTauChargeCleanerPlugin::operator()(), reco::tau::RecoTauDiscriminantFromDiscriminator::operator()(), reco::tau::RecoTauPhotonFilter::operator()(), reco::tau::PFRecoTauChargedHadronStringQuality::operator()(), reco::tau::RecoTauDiscriminantInvariantWidth::operator()(), reco::tau::RecoTauPiZeroStringQuality::operator()(), reco::tau::RecoTauElectronRejectionPlugin::operator()(), reco::tau::RecoTauPiZeroTrivialPlugin::operator()(), reco::tau::RecoTauStringCleanerPlugin::operator()(), tautools::RecoTauDecayModeTruthMatchPlugin::operator()(), reco::tau::RecoTauPiZeroCombinatoricPlugin::operator()(), reco::tau::RecoTauBuilderCombinatoricPlugin::operator()(), reco::tau::RecoTauImpactParameterSignificancePlugin::operator()(), reco::tau::RecoTauTwoProngFilter::operator()(), reco::tau::RecoTauBuilderConePlugin::operator()(), reco::tau::RecoTauEnergyRecoveryPlugin2::operator()(), reco::tau::RecoTauPiZeroStripPlugin::operator()(), reco::tau::PFRecoTauChargedHadronFromPFCandidatePlugin::operator()(), reco::tau::RecoTauPiZeroStripPlugin2::operator()(), reco::tau::RecoTauObjectEmbedder< T >::operator()(), reco::tau::RecoTauPiZeroStripPlugin3::operator()(), fastsim::MultipleScattering::orthogonal(), fastsim::NuclearInteraction::orthogonal(), MuonAlignmentFromReference::parseReference(), fastsim::MuonBremsstrahlung::PetrukhinFunc(), TrackingRecHitNoSmearingPlugin::process(), TrackingRecHitStripGSPlugin::process(), AlignmentMonitorMuonVsCurvature::processMuonResidualsFromTrack(), AlignmentMonitorSegmentDifferences::processMuonResidualsFromTrack(), RPCAMCUnpacker::produce(), DualBzeroTrajectoryFactory::propagateExternal(), DualTrajectoryFactory::propagateExternal(), RPCCPPFUnpacker::putRPCDigis(), BeamHaloNavigationSchool::reachableFromHorizontal(), ESRecHitWorker::run(), ApeSettingAlgorithm::run(), HGCalUncalibRecHitWorkerWeights::run3(), MuonDTLocalMillepedeAlgorithm::setBranchTrees(), EGEtScaleSysModifier::setEcalEnergy(), DCacheStorageMaker::setTimeout(), gen::PhotosppInterface::statistics(), CSCOverlapsAlignmentAlgorithm::terminate(), BzeroReferenceTrajectoryFactory::trajectories(), CombinedTrajectoryFactory::trajectories(), MuonMillepedeAlgorithm::updateInfo(), HGCalTriggerGeometryHexImp2::validCellId(), lumi::CMSRunSummary2DB::~CMSRunSummary2DB(), lumi::CMSRunSummaryDummy2DB::~CMSRunSummaryDummy2DB(), EcalRecHitWorkerSimple::~EcalRecHitWorkerSimple(), HGCalRecHitWorkerSimple::~HGCalRecHitWorkerSimple(), lumi::HLTConf2DB::~HLTConf2DB(), lumi::HLTConfDummy2DB::~HLTConfDummy2DB(), lumi::HLTDummy2DB::~HLTDummy2DB(), lumi::HLTV32DB::~HLTV32DB(), lumi::Lumi2DB::~Lumi2DB(), lumi::LumiDummy2DB::~LumiDummy2DB(), PixelTemplateSmearerPlugin::~PixelTemplateSmearerPlugin(), SLHAReaderpMSSM::~SLHAReaderpMSSM(), lumi::TRGDummy2DB::~TRGDummy2DB(), lumi::TRGScalers2DB::~TRGScalers2DB(), and lumi::TRGWBM2DB::~TRGWBM2DB().

#define DEFINE_EDM_PLUGIN2 (   factory,
  type,
  name 
)    static const factory::PMaker<type> EDM_PLUGIN_SYM(s_maker2, __LINE__)(name)

Definition at line 124 of file PluginFactory.h.

#define EDM_PLUGIN_SYM (   x,
 
)    EDM_PLUGIN_SYM2(x, y)

Definition at line 118 of file PluginFactory.h.

#define EDM_PLUGIN_SYM2 (   x,
 
)    x##y

Definition at line 119 of file PluginFactory.h.

#define EDM_REGISTER_PLUGINFACTORY (   _factory_,
  _category_ 
)
Value:
namespace edmplugin { \
template <> \
edmplugin::PluginFactory<_factory_::TemplateArgType>* edmplugin::PluginFactory<_factory_::TemplateArgType>::get() { \
CMS_THREAD_SAFE static edmplugin::PluginFactory<_factory_::TemplateArgType> s_instance; \
return &s_instance; \
} \
template <> \
static const std::string s_cat(_category_); \
return s_cat; \
} \
} \
enum { FWCORE_CONCATENATE(dummy_edm_register_pluginfactory_, __LINE__) }
#define FWCORE_CONCATENATE(a, b)
Definition: PluginFactory.h:85
T get(const Candidate &c)
Definition: component.h:55

Definition at line 86 of file PluginFactory.h.

Referenced by reco::tau::RecoTauBuilderPlugin::beginEvent(), and operator<<().

#define EDM_REGISTER_PLUGINFACTORY2 (   _factory_,
  _category_ 
)
Value:
namespace edmplugin { \
template <> \
edmplugin::PluginFactory<_factory_::TemplateArgType>* edmplugin::PluginFactory<_factory_::TemplateArgType>::get() { \
CMS_THREAD_SAFE static edmplugin::PluginFactory<_factory_::TemplateArgType> s_instance; \
return &s_instance; \
} \
template <> \
static const std::string s_cat(_category_); \
return s_cat; \
} \
} \
enum { FWCORE_CONCATENATE(dummy_edm_register_pluginfactory_2_, __LINE__) }
#define FWCORE_CONCATENATE(a, b)
Definition: PluginFactory.h:85
T get(const Candidate &c)
Definition: component.h:55

Definition at line 101 of file PluginFactory.h.

#define FWCORE_CONCATENATE (   a,
  b 
)    FWCORE_CONCATENATE_HIDDEN(a, b)

Definition at line 85 of file PluginFactory.h.

#define FWCORE_CONCATENATE_HIDDEN (   a,
  b 
)    a##b

Definition at line 84 of file PluginFactory.h.