25 StackGuard(
std::string const& iTypeName, std::map<std::string, unsigned int>& ioStack,
bool iFromListener)
26 : numType_(++ioStack[iTypeName]), itr_(ioStack.
find(iTypeName)), fromListener_(iFromListener) {
39 unsigned int numType_;
40 std::map<std::string, unsigned int>::iterator itr_;
50 if (guard.numType_ > 2) {
52 <<
"Attempted to register the production of " << iProd.
className() <<
" from module " << iProd.
moduleLabel()
54 <<
"However, this was in reaction to a registration of a production for the same type \n" 55 <<
"from another module who was also listening to product registrations.\n" 56 <<
"This can lead to circular Event::get* calls.\n" 57 <<
"Please reconfigure job so it does not contain both of the modules.";
signalslot::Signal< void(BranchDescription const &)> productAddedSignal_
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
std::string const & className() const
std::string const & productInstanceName() const
void addCalled(BranchDescription const &, bool) override
std::map< std::string, unsigned int > typeAddedStack_
std::string const & moduleLabel() const