Definition at line 101 of file TFWLiteSelectorBasic.cc.
References edm::ObjectWithDict::address(), bidToDesc_, MicroEventContent_cff::branch, edm::BranchDescription::branchName(), edm::TypeWithDict::byName(), edm::ObjectWithDict::castObject(), edm::BranchDescription::className(), entry_, eventTree_, Exception, newFWLiteAna::fullName, edm::BranchID::id(), dqmdumpme::k, dumpMFGeometry_cfg::prod, edm::errors::ProductNotFound, AlCaHLTBitMon_QueryRunRegistry::string, and edm::wrappedClassName().
Referenced by getProduct_(), and set().
106 BranchDescription
const& bDesc = *(itFind->second);
109 if (
nullptr == branch) {
110 throw cms::Exception(
"MissingBranch") <<
"could not find branch named '" << bDesc.branchName() <<
"'" 111 <<
"\n Perhaps the data being requested was not saved in this file?";
116 if (!
bool(classType)) {
117 throw cms::Exception(
"MissingDictionary") <<
"could not find dictionary for type '" << fullName <<
"'" 118 <<
"\n Please make sure all the necessary libraries are available.";
122 ObjectWithDict wrapperObj = classType.construct();
123 if (
nullptr == wrapperObj.address()) {
124 throw cms::Exception(
"FailedToCreate") <<
"could not create an instance of '" << fullName <<
"'";
126 void* address = wrapperObj.address();
127 branch->SetAddress(&address);
130 WrapperBase*
prod =
reinterpret_cast<WrapperBase*
>(edProdObj.address());
132 if (
nullptr == prod) {
133 throw cms::Exception(
"FailedConversion") <<
"failed to convert a '" << fullName <<
"' to a edm::WrapperBase." 134 <<
"Please contact developers since something is very wrong.";
137 return std::unique_ptr<WrapperBase>(
prod);
std::shared_ptr< std::unordered_map< unsigned int, BranchDescription const * > > bidToDesc_
static TypeWithDict byName(std::string const &name)
std::string wrappedClassName(std::string const &iFullName)