#include <c++11.h>
Public Member Functions | |
__class__ () | |
__class__ () | |
__class__ () | |
__class__ () | |
__class__ (const edm::ParameterSet &) | |
__class__ (const edm::ParameterSet &) | |
__class__ (const edm::ParameterSet &) | |
__class__ (const edm::ParameterSet &) | |
__class__ (const edm::ParameterSet &) | |
void | begin (TList *&) |
if virtual len(__datatypes__) > 1 void | beginOfJob () |
virtual Status | duringLoop (const edm::Event &, const edm::EventSetup &) |
virtual void | endOfJob () |
virtual Status | endOfLoop (const edm::EventSetup &) |
virtual void | startingNewLoop (unsigned int) |
void | terminate (TList &) |
virtual | ~__class__ () |
virtual | ~__class__ () |
virtual | ~__class__ () |
~__class__ () | |
~__class__ () | |
~__class__ () | |
~__class__ () | |
~__class__ () | |
~__class__ () | |
Public Member Functions inherited from TFWLiteSelector< __class__Worker > | |
TFWLiteSelector () | |
virtual | ~TFWLiteSelector () |
Public Member Functions inherited from TFWLiteSelectorBasic | |
TFWLiteSelectorBasic () | |
virtual | ~TFWLiteSelectorBasic () |
Public Member Functions inherited from edm::eventsetup::EventSetupRecordImplementation< __class__ > | |
virtual EventSetupRecordKey | key () const |
Public Member Functions inherited from edm::eventsetup::EventSetupRecord | |
bool | add (DataKey const &iKey, DataProxy const *iProxy) |
unsigned long long | cacheIdentifier () const |
void | cacheReset () |
void | clearProxies () |
bool | doGet (DataKey const &aKey, bool aGetTransiently=false) const |
returns false if no data available for key More... | |
EventSetupRecord () | |
void | fillReferencedDataKeys (std::map< DataKey, ComponentDescription const * > &referencedDataKeys) |
void | fillRegisteredDataKeys (std::vector< DataKey > &oToFill) const |
clears the oToFill vector and then fills it with the keys for all registered data keys More... | |
template<typename HolderT > | |
void | get (HolderT &iHolder) const |
template<typename HolderT > | |
void | get (char const *iName, HolderT &iHolder) const |
template<typename HolderT > | |
void | get (std::string const &iName, HolderT &iHolder) const |
template<typename HolderT > | |
void | get (ESInputTag const &iTag, HolderT &iHolder) const |
void | getESProducers (std::vector< ComponentDescription const * > &esproducers) |
ComponentDescription const * | providerDescription (DataKey const &aKey) const |
void | set (ValidityInterval const &) |
void | setEventSetup (EventSetup const *iEventSetup) |
bool | transientReset () |
returns 'true' if a transient request has occurred since the last call to transientReset. More... | |
ValidityInterval const & | validityInterval () const |
bool | wasGotten (DataKey const &aKey) const |
virtual | ~EventSetupRecord () |
Public Member Functions inherited from edm::ESProducer | |
ESProducer () | |
virtual | ~ESProducer ()(false) |
Public Member Functions inherited from edm::ESProxyFactoryProducer | |
ESProxyFactoryProducer () | |
virtual void | newInterval (const eventsetup::EventSetupRecordKey &iRecordType, const ValidityInterval &iInterval) |
overrides DataProxyProvider method More... | |
virtual | ~ESProxyFactoryProducer () noexcept(false) |
Public Member Functions inherited from edm::eventsetup::DataProxyProvider | |
DataProxyProvider () | |
const ComponentDescription & | description () const |
bool | isUsingRecord (const EventSetupRecordKey &) const |
const KeyedProxies & | keyedProxies (const EventSetupRecordKey &iRecordKey) const |
void | resetProxies (const EventSetupRecordKey &iRecordType) |
void | resetProxiesIfTransient (const EventSetupRecordKey &iRecordType) |
void | setAppendToDataLabel (const edm::ParameterSet &) |
void | setDescription (const ComponentDescription &iDescription) |
std::set< EventSetupRecordKey > | usingRecords () const |
virtual | ~DataProxyProvider () noexcept(false) |
Public Member Functions inherited from edm::stream::EDProducer<> | |
EDProducer ()=default | |
Public Member Functions inherited from edm::stream::EDProducerBase | |
EDProducerBase () | |
ModuleDescription const & | moduleDescription () const |
virtual | ~EDProducerBase () |
Public Member Functions inherited from edm::ProducerBase | |
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
std::vector< edm::ProductResolverIndex > const & | indiciesForPutProducts (BranchType iBranchType) const |
ProducerBase () | |
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
std::function< void(BranchDescription const &)> | registrationCallback () const |
used by the fwk to register list of products More... | |
void | resolvePutIndicies (BranchType iBranchType, std::unordered_multimap< std::string, edm::ProductResolverIndex > const &iIndicies, std::string const &moduleLabel) |
virtual | ~ProducerBase () noexcept(false) |
Public Member Functions inherited from edm::EDConsumerBase | |
std::vector< ConsumesInfo > | consumesInfo () const |
void | convertCurrentProcessAlias (std::string const &processName) |
Convert "@currentProcess" in InputTag process names to the actual current process name. More... | |
EDConsumerBase () | |
EDConsumerBase (EDConsumerBase const &)=delete | |
EDConsumerBase (EDConsumerBase &&)=default | |
ProductResolverIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
void | itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
void | itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
std::vector< ProductResolverIndexAndSkipBit > const & | itemsToGetFrom (BranchType iType) const |
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
virtual | ~EDConsumerBase () noexcept(false) |
Public Member Functions inherited from edm::ESProducerLooper | |
ESProducerLooper () | |
virtual std::set< eventsetup::EventSetupRecordKey > | modifyingRecords () const |
Public Member Functions inherited from edm::EventSetupRecordIntervalFinder | |
const eventsetup::ComponentDescription & | descriptionForFinder () const |
EventSetupRecordIntervalFinder () | |
std::set< eventsetup::EventSetupRecordKey > | findingForRecords () const |
const ValidityInterval & | findIntervalFor (const eventsetup::EventSetupRecordKey &, const IOVSyncValue &) |
void | setDescriptionForFinder (const eventsetup::ComponentDescription &iDescription) |
virtual | ~EventSetupRecordIntervalFinder () noexcept(false) |
Public Member Functions inherited from edm::EDLooper | |
EDLooper () | |
EDLooper (EDLooper const &)=delete | |
EDLooper & | operator= (EDLooper const &)=delete |
virtual | ~EDLooper () |
Public Member Functions inherited from edm::EDLooperBase | |
virtual void | attachTo (ActivityRegistry &) |
Override this method if you need to monitor the state of the processing. More... | |
virtual void | beginOfJob (EventSetup const &) |
void | copyInfo (ScheduleInfo const &) |
void | doBeginLuminosityBlock (LuminosityBlockPrincipal &, EventSetup const &, ProcessContext *) |
void | doBeginRun (RunPrincipal &, EventSetup const &, ProcessContext *) |
Status | doDuringLoop (EventPrincipal &eventPrincipal, EventSetup const &es, ProcessingController &, StreamContext *) |
void | doEndLuminosityBlock (LuminosityBlockPrincipal &, EventSetup const &, ProcessContext *) |
Status | doEndOfLoop (EventSetup const &es) |
void | doEndRun (RunPrincipal &, EventSetup const &, ProcessContext *) |
void | doStartingNewLoop () |
EDLooperBase () | |
EDLooperBase (EDLooperBase const &)=delete | |
EDLooperBase & | operator= (EDLooperBase const &)=delete |
void | prepareForNextLoop (eventsetup::EventSetupProvider *esp) |
void | setActionTable (ExceptionToActionTable const *actionTable) |
void | setModuleChanger (ModuleChanger *) |
virtual | ~EDLooperBase () noexcept(false) |
Public Member Functions inherited from edm::stream::EDFilter<> | |
EDFilter ()=default | |
Public Member Functions inherited from edm::stream::EDFilterBase | |
EDFilterBase () | |
ModuleDescription const & | moduleDescription () const |
virtual | ~EDFilterBase () |
Public Member Functions inherited from edm::one::EDAnalyzer< edm::one::SharedResources > | |
EDAnalyzer ()=default | |
Public Member Functions inherited from edm::one::EDAnalyzerBase | |
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
EDAnalyzerBase () | |
ModuleDescription const & | moduleDescription () const |
virtual | ~EDAnalyzerBase () |
Static Public Member Functions | |
static void | fillDescriptions (edm::ConfigurationDescriptions &descriptions) |
static void | fillDescriptions (edm::ConfigurationDescriptions &descriptions) |
static void | fillDescriptions (edm::ConfigurationDescriptions &descriptions) |
Static Public Member Functions inherited from edm::eventsetup::EventSetupRecordImplementation< __class__ > | |
static EventSetupRecordKey | keyForClass () |
Static Public Member Functions inherited from edm::eventsetup::DataProxyProvider | |
static void | prevalidate (ConfigurationDescriptions &) |
Static Public Member Functions inherited from edm::stream::EDProducerBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Static Public Member Functions inherited from edm::stream::EDFilterBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Static Public Member Functions inherited from edm::one::EDAnalyzerBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Private Member Functions | |
__class__ (const __class__ &src) | |
__class__ (const __class__< T > &src) | |
__class__ (__class__ &&src) | |
__class__ (__class__< T > &&src) | |
__class__ (const __class__ &) | |
__class__ (__class__ const &) | |
virtual void | analyze (const edm::Event &, const edm::EventSetup &) override |
virtual void | beginJob () override |
virtual void | beginStream (edm::StreamID) override |
virtual void | beginStream (edm::StreamID) override |
virtual void | endJob () override |
virtual void | endStream () override |
virtual void | endStream () override |
virtual bool | filter (edm::Event &, const edm::EventSetup &) override |
const __class__ & | operator= (const __class__ &rhs) |
const __class__< T > & | operator= (const __class__< T > &rhs) |
__class__ & | operator= (__class__ &&rhs) |
const __class__ & | operator= (const __class__ &) |
__class__< T > & | operator= (__class__< T > &&rhs) |
__class__ | operator= (__class__ const &) |
virtual void | produce (edm::Event &, const edm::EventSetup &) override |
Private Attributes | |
example_myparticle edm::InputTag | electronTags_ |
example_histo TH1D * | histo |
example_myparticle edm::InputTag | muonTags_ |
example_track edm::InputTag | trackTags_ |
Additional Inherited Members | |
Public Types inherited from edm::eventsetup::DataProxyProvider | |
typedef std::vector< std::pair< DataKey, edm::propagate_const< std::shared_ptr< DataProxy > > > > | KeyedProxies |
typedef std::vector< EventSetupRecordKey > | Keys |
typedef std::map< EventSetupRecordKey, KeyedProxies > | RecordProxies |
Public Types inherited from edm::stream::EDProducer<> | |
typedef CacheContexts< T... > | CacheTypes |
typedef CacheTypes::GlobalCache | GlobalCache |
typedef AbilityChecker< T... > | HasAbility |
typedef CacheTypes::LuminosityBlockCache | LuminosityBlockCache |
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache > | LuminosityBlockContext |
typedef CacheTypes::LuminosityBlockSummaryCache | LuminosityBlockSummaryCache |
typedef CacheTypes::RunCache | RunCache |
typedef RunContextT< RunCache, GlobalCache > | RunContext |
typedef CacheTypes::RunSummaryCache | RunSummaryCache |
Public Types inherited from edm::stream::EDProducerBase | |
typedef EDProducerAdaptorBase | ModuleType |
Public Types inherited from edm::ProducerBase | |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
Public Types inherited from edm::EDLooperBase | |
enum | Status { kContinue, kStop } |
Public Types inherited from edm::stream::EDFilter<> | |
typedef CacheContexts< T... > | CacheTypes |
typedef CacheTypes::GlobalCache | GlobalCache |
typedef AbilityChecker< T... > | HasAbility |
typedef CacheTypes::LuminosityBlockCache | LuminosityBlockCache |
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache > | LuminosityBlockContext |
typedef CacheTypes::LuminosityBlockSummaryCache | LuminosityBlockSummaryCache |
typedef CacheTypes::RunCache | RunCache |
typedef RunContextT< RunCache, GlobalCache > | RunContext |
typedef CacheTypes::RunSummaryCache | RunSummaryCache |
Public Types inherited from edm::stream::EDFilterBase | |
typedef EDFilterAdaptorBase | ModuleType |
Public Types inherited from edm::one::EDAnalyzerBase | |
typedef EDAnalyzerBase | ModuleType |
Protected Member Functions inherited from edm::eventsetup::EventSetupRecordImplementation< __class__ > | |
EventSetupRecordImplementation () | |
Protected Member Functions inherited from edm::eventsetup::EventSetupRecord | |
void | addTraceInfoToCmsException (cms::Exception &iException, char const *iName, ComponentDescription const *, DataKey const &) const |
void | changeStdExceptionToCmsException (char const *iExceptionWhatMessage, char const *iName, ComponentDescription const *, DataKey const &) const |
EventSetup const & | eventSetup () const |
DataProxy const * | find (DataKey const &aKey) const |
void | transientAccessRequested () const |
void | validate (ComponentDescription const *, ESInputTag const &) const |
Protected Member Functions inherited from edm::ESProducer | |
template<typename T > | |
void | setWhatProduced (T *iThis, const es::Label &iLabel=es::Label()) |
template<typename T > | |
void | setWhatProduced (T *iThis, const char *iLabel) |
template<typename T > | |
void | setWhatProduced (T *iThis, const std::string &iLabel) |
template<typename T , typename TDecorator > | |
void | setWhatProduced (T *iThis, const TDecorator &iDec, const es::Label &iLabel=es::Label()) |
template<typename T , typename TReturn , typename TRecord > | |
void | setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const es::Label &iLabel=es::Label()) |
template<typename T , typename TReturn , typename TRecord , typename TArg > | |
void | setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const TArg &iDec, const es::Label &iLabel=es::Label()) |
Protected Member Functions inherited from edm::ESProxyFactoryProducer | |
template<class TFactory > | |
void | registerFactory (std::unique_ptr< TFactory > iFactory, const std::string &iLabel=std::string()) |
virtual void | registerProxies (const eventsetup::EventSetupRecordKey &iRecord, KeyedProxies &aProxyList) |
override DataProxyProvider method More... | |
Protected Member Functions inherited from edm::eventsetup::DataProxyProvider | |
void | eraseAll (const EventSetupRecordKey &iRecordKey) |
deletes all the Proxies in aStream More... | |
void | invalidateProxies (const EventSetupRecordKey &iRecordKey) |
template<class T > | |
void | usingRecord () |
void | usingRecordWithKey (const EventSetupRecordKey &) |
Protected Member Functions inherited from edm::EDConsumerBase | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
ConsumesCollector | consumesCollector () |
Use a ConsumesCollector to gather consumes information from helper functions. More... | |
template<typename ProductType , BranchType B = InEvent> | |
void | consumesMany () |
void | consumesMany (const TypeToGet &id) |
template<BranchType B> | |
void | consumesMany (const TypeToGet &id) |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
Protected Member Functions inherited from edm::ESProducerLooper | |
virtual void | registerFactoryWithKey (const eventsetup::EventSetupRecordKey &iRecord, std::unique_ptr< eventsetup::ProxyFactoryBase > iFactory, const std::string &iLabel=std::string()) |
void | setIntervalFor (const eventsetup::EventSetupRecordKey &iKey, const IOVSyncValue &iTime, ValidityInterval &oInterval) |
Protected Member Functions inherited from edm::EventSetupRecordIntervalFinder | |
template<class T > | |
void | findingRecord () |
void | findingRecordWithKey (const eventsetup::EventSetupRecordKey &) |
Protected Member Functions inherited from edm::EDLooperBase | |
ModuleChanger * | moduleChanger () |
This only returns a non-zero value during the call to endOfLoop. More... | |
ScheduleInfo const * | scheduleInfo () const |
This returns a non-zero value after the constructor has been called. More... | |
Description: [one line class summary]
Implementation: [Notes on implementation]
Description: [one line class summary]
Usage: <usage>
Definition at line 30 of file Skeleton.cc.
References __class__< T >::~__class__().
Referenced by BeautifulSoup.Tag::__getattr__(), BeautifulSoup.UnicodeDammit::_ebcdic_to_ascii(), and __class__Worker::postProcess().
Definition at line 89 of file EDAnalyzer.cc.
Referenced by __class__< T >::__class__(), and __class__Worker::postProcess().
Referenced by BeautifulSoup.Tag::__getattr__(), and BeautifulSoup.UnicodeDammit::_ebcdic_to_ascii().
Referenced by BeautifulSoup.Tag::__getattr__(), and BeautifulSoup.UnicodeDammit::_ebcdic_to_ascii().
Referenced by BeautifulSoup.Tag::__getattr__(), and BeautifulSoup.UnicodeDammit::_ebcdic_to_ascii().
Referenced by BeautifulSoup.Tag::__getattr__(), and BeautifulSoup.UnicodeDammit::_ebcdic_to_ascii().
Referenced by BeautifulSoup.Tag::__getattr__(), and BeautifulSoup.UnicodeDammit::_ebcdic_to_ascii().
|
explicit |
Definition at line 76 of file EDAnalyzer.cc.
References __class__< T >::histo.
Referenced by BeautifulSoup.Tag::__getattr__(), and BeautifulSoup.UnicodeDammit::_ebcdic_to_ascii().
|
explicit |
Referenced by BeautifulSoup.Tag::__getattr__(), and BeautifulSoup.UnicodeDammit::_ebcdic_to_ascii().
__class__< T >::__class__ | ( | const edm::ParameterSet & | ) |
Referenced by BeautifulSoup.Tag::__getattr__(), and BeautifulSoup.UnicodeDammit::_ebcdic_to_ascii().
|
explicit |
Referenced by BeautifulSoup.Tag::__getattr__(), and BeautifulSoup.UnicodeDammit::_ebcdic_to_ascii().
__class__< T >::__class__ | ( | const edm::ParameterSet & | ) |
Referenced by BeautifulSoup.Tag::__getattr__(), and BeautifulSoup.UnicodeDammit::_ebcdic_to_ascii().
Referenced by BeautifulSoup.Tag::__getattr__(), and BeautifulSoup.UnicodeDammit::_ebcdic_to_ascii().
Referenced by BeautifulSoup.Tag::__getattr__(), and BeautifulSoup.UnicodeDammit::_ebcdic_to_ascii().
Referenced by BeautifulSoup.Tag::__getattr__(), and BeautifulSoup.UnicodeDammit::_ebcdic_to_ascii().
Referenced by BeautifulSoup.Tag::__getattr__(), and BeautifulSoup.UnicodeDammit::_ebcdic_to_ascii().
|
overrideprivatevirtual |
Definition at line 104 of file EDAnalyzer.cc.
References ALCARECOTkAlJpsiMuMu_cff::charge, edm::EventSetup::get(), edm::Event::getByLabel(), __class__< T >::histo, l1t::tracks, and __class__< T >::trackTags_.
Called each time the 'client' begins processing (remote 'slaves' do not see this message)
in | an assignable pointer to a list of objects you want passed to 'preProcessing'. This list is used to communicate with remote slaves. NOTE: you are responsible for deleting this TList and its content once you are done with it. |
Implements TFWLiteSelectorBasic.
Definition at line 100 of file TSelector.cc.
Reimplemented from edm::one::EDAnalyzerBase.
Definition at line 134 of file EDAnalyzer.cc.
|
overrideprivatevirtual |
Reimplemented from edm::stream::EDFilterBase.
Definition at line 107 of file EDFilter.cc.
|
overrideprivatevirtual |
Reimplemented from edm::stream::EDFilterBase.
|
virtual |
Called after all event modules have had a chance to process the edm::Event.
Implements edm::EDLooper.
Definition at line 129 of file EDLooper.cc.
References edm::EDLooperBase::kContinue.
Reimplemented from edm::one::EDAnalyzerBase.
Definition at line 140 of file EDAnalyzer.cc.
Reimplemented from edm::EDLooperBase.
Definition at line 144 of file EDLooper.cc.
References DEFINE_FWK_LOOPER.
|
virtual |
Definition at line 137 of file EDLooper.cc.
References edm::EDLooperBase::kStop.
Reimplemented from edm::stream::EDFilterBase.
Definition at line 113 of file EDFilter.cc.
References edm::ConfigurationDescriptions::addDefault(), DEFINE_FWK_MODULE, __class__< T >::fillDescriptions(), and edm::ParameterSetDescription::setUnknown().
Reimplemented from edm::stream::EDFilterBase.
|
static |
|
static |
|
static |
Definition at line 146 of file EDAnalyzer.cc.
References edm::ConfigurationDescriptions::addDefault(), DEFINE_FWK_MODULE, and edm::ParameterSetDescription::setUnknown().
Referenced by __class__< T >::endStream().
|
overrideprivatevirtual |
Definition at line 90 of file EDFilter.cc.
References edm::EventSetup::get(), and edm::Event::getByLabel().
|
private |
|
private |
|
overrideprivatevirtual |
Definition at line 98 of file EDLooper.cc.
References runTauDisplay::dtype, recoMuon::in, convertSQLitetoXML_cfg::output, and reco::print().
Called before system starts to loop over the events. The argument is a count of how many loops have been processed. For the first time through the events the argument will be 0.
Implements edm::EDLooperBase.
Definition at line 123 of file EDLooper.cc.
Called each time the 'client' has finished processing.
out | contains the accumulated output of all slaves. |
Implements TFWLiteSelectorBasic.
Definition at line 106 of file TSelector.cc.
References svgfig::canvas(), gather_cfg::cout, create_public_lumi_plots::hist, and kPt.
|
private |
Definition at line 62 of file EDProducer.cc.
Definition at line 62 of file EDAnalyzer.cc.
Referenced by __class__< T >::__class__(), and __class__< T >::analyze().
|
private |
Definition at line 61 of file EDProducer.cc.
|
private |
Definition at line 61 of file EDAnalyzer.cc.
Referenced by __class__< T >::analyze().