1 #ifndef DataFormats_FWLite_Handle_h 2 #define DataFormats_FWLite_Handle_h 25 template<
typename T>
class Wrapper;
52 errorThrower_( iOther.errorThrower_? iOther.errorThrower_->
clone():
nullptr) {}
61 bool isValid()
const {
return data_ !=
nullptr; }
92 const char* iModuleLabel,
93 const char* iProductInstanceLabel =
nullptr,
94 const char* iProcessLabel =
nullptr) {
97 iP.getByLabel(TempWrapT::typeInfo(),
99 iProductInstanceLabel,
102 delete errorThrower_;
103 errorThrower_ =
nullptr;
104 if(
nullptr == temp) {
105 errorThrower_=ErrorThrower::errorThrowerBranchNotFoundException(TempWrapT::typeInfo(),
107 iProductInstanceLabel,
112 if(data_==
nullptr) {
113 errorThrower_=ErrorThrower::errorThrowerProductNotFoundException(TempWrapT::typeInfo(),
115 iProductInstanceLabel,
210 const char* iModuleLabel,
211 const char* iProductInstanceLabel =
nullptr,
212 const char* iProcessLabel =
nullptr)
216 iProductInstanceLabel,
253 const T*
temp = data_;
254 data_ = iOther.
data_;
261 void check()
const {
if(errorThrower_) { errorThrower_->throwIt();} }
virtual std::string const getBranchNameFor(std::type_info const &, char const *, char const *, char const *) const =0
void swap(Association< C > &lhs, Association< C > &rhs)
void getByLabel(const P &iP, const char *iModuleLabel, const char *iProductInstanceLabel=0, const char *iProcessLabel=0)
const std::string getBranchNameFor(const fwlite::EventBase &iEvent, const char *iModuleLabel, const char *iProductInstanceLabel=0, const char *iProcessLabel=0)
const T & operator*() const
void swap(Handle< T > &iOther)
bool failedToGet() const
Returns true only if Handle was used in a 'get' call and the data could not be found.
const T * operator->() const
edm::Wrapper< T > TempWrapT
ErrorThrower const * errorThrower_
T const * product() const
std::pair< OmniClusterRef, TrackingParticleRef > P
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
Handle(const Handle< T > &iOther)
T const * product() const
static void check(T const &p, std::string const &id, SelectedProducts const &iProducts)
const Handle< T > & operator=(const Handle< T > &iOther)