1 #ifndef Framework_GenericHandle_h
2 #define Framework_GenericHandle_h
33 #include "Reflex/Object.h"
48 type_(Reflex::
Type::ByName(iName)), prod_(),
prov_(0) {
51 "Handle<GenericObject> told to use uknown type '",
53 "'.\n Please check spelling or that a module uses this type in the job.");
55 if(type_.IsTypedef()){
59 type_ = type_.ToType();
65 type_(iType), prod_(),
prov_(0) {
69 if(type_.IsTypedef()){
73 type_ = type_.ToType();
114 return prod_ && 0!=
prov_;
136 void setWhyFailed(boost::shared_ptr<cms::Exception>
const& iWhyFailed) {
157 edm::Event::getByLabel<GenericObject>(std::string
const&
label,
158 std::string
const& productInstanceName,
Handle(Handle< GenericObject > const &h)
Handle(Reflex::Object const &prod, Provenance const *prov, ProductID const &pid)
Provenance const * provenance() const
Handle(std::string const &iName)
Throws exception if iName is not a known C++ class type.
Reflex::Object const & operator*() const
static void throwThis(Code category, char const *message0="", char const *message1="", char const *message2="", char const *message3="", char const *message4="")
boost::shared_ptr< cms::Exception > whyFailed_
void convert_handle(BasicHandle const &orig, Handle< T > &result)
Reflex::Object const * product() const
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
Handle< GenericObject > GenericHandle
void setWhyFailed(boost::shared_ptr< cms::Exception > const &iWhyFailed)
Handle< GenericObject > & operator=(Handle< GenericObject > const &rhs)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Reflex::Type const & type() const
void swap(HandleBase &other)
Handle(Reflex::Type const &iType)
Throws exception if iType is invalid.
Reflex::Object const * operator->() const
void swap(Handle< GenericObject > &other)
This class is just a 'tag' used to allow a specialization of edm::Handle.
T const * product() const
ProductID const & productID() const
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
boost::shared_ptr< cms::Exception > whyFailed_