All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | List of all members
util::ArtHandleTrackerInterface< Event > Struct Template Referenceabstract

Interface to facilitate the use of util::ArtHandleTracker specializations. More...

#include <ArtHandleTrackerManager.h>

Inheritance diagram for util::ArtHandleTrackerInterface< Event >:
util::details::ArtHandleTracker< T, Event >

Public Member Functions

virtual ~ArtHandleTrackerInterface ()=default
 Virtual destructor (does nothing). More...
 
bool removeCachedProduct ()
 
std::any handlePtr () const
 Returns a container for a pointer to the managed handle. Caveat emptor. More...
 
std::string productClass () const
 Returns the name of the class of handled data product. More...
 
std::type_info const * productType () const
 Returns the name of the class of handled data product. More...
 
art::InputTag inputTag () const
 Returns the tag of handled data product. More...
 
bool hasSameDataProduct (util::ArtHandleTrackerInterface< Event > const &other) const
 Returns whether this and the other objects handle the same data product. More...
 

Protected Member Functions

virtual bool doRemoveCachedProduct ()=0
 Deferred implementation of removeCachedProduct(). More...
 
virtual std::any doHandlePtr () const =0
 Deferred implementation of handlePtr(). More...
 
virtual std::string doProductClass () const =0
 Deferred implementation of productClass(). More...
 
virtual std::type_info const * doProductType () const =0
 Deferred implementation of productType(). More...
 
virtual art::InputTag doInputTag () const =0
 Deferred implementation of inputTag(). More...
 

Detailed Description

template<typename Event>
struct util::ArtHandleTrackerInterface< Event >

Interface to facilitate the use of util::ArtHandleTracker specializations.

This is NOT able to return the type of handle it's handling.

Definition at line 31 of file ArtHandleTrackerManager.h.

Constructor & Destructor Documentation

template<typename Event>
virtual util::ArtHandleTrackerInterface< Event >::~ArtHandleTrackerInterface ( )
virtualdefault

Virtual destructor (does nothing).

Member Function Documentation

template<typename Event>
virtual std::any util::ArtHandleTrackerInterface< Event >::doHandlePtr ( ) const
protectedpure virtual

Deferred implementation of handlePtr().

Implemented in util::details::ArtHandleTracker< T, Event >.

template<typename Event>
virtual art::InputTag util::ArtHandleTrackerInterface< Event >::doInputTag ( ) const
protectedpure virtual

Deferred implementation of inputTag().

Implemented in util::details::ArtHandleTracker< T, Event >.

template<typename Event>
virtual std::string util::ArtHandleTrackerInterface< Event >::doProductClass ( ) const
protectedpure virtual

Deferred implementation of productClass().

Implemented in util::details::ArtHandleTracker< T, Event >.

template<typename Event>
virtual std::type_info const* util::ArtHandleTrackerInterface< Event >::doProductType ( ) const
protectedpure virtual

Deferred implementation of productType().

Implemented in util::details::ArtHandleTracker< T, Event >.

template<typename Event>
virtual bool util::ArtHandleTrackerInterface< Event >::doRemoveCachedProduct ( )
protectedpure virtual

Deferred implementation of removeCachedProduct().

Implemented in util::details::ArtHandleTracker< T, Event >.

template<typename Event>
std::any util::ArtHandleTrackerInterface< Event >::handlePtr ( ) const
inline

Returns a container for a pointer to the managed handle. Caveat emptor.

Definition at line 604 of file ArtHandleTrackerManager.h.

604 { return doHandlePtr(); }
virtual std::any doHandlePtr() const =0
Deferred implementation of handlePtr().
template<typename Event>
bool util::ArtHandleTrackerInterface< Event >::hasSameDataProduct ( util::ArtHandleTrackerInterface< Event > const &  other) const
inline

Returns whether this and the other objects handle the same data product.

Definition at line 617 of file ArtHandleTrackerManager.h.

618  {
619  return inputTag() == other.inputTag()
620  && productType() == other.productType();
621  }
std::type_info const * productType() const
Returns the name of the class of handled data product.
art::InputTag inputTag() const
Returns the tag of handled data product.
template<typename Event>
art::InputTag util::ArtHandleTrackerInterface< Event >::inputTag ( ) const
inline

Returns the tag of handled data product.

Definition at line 613 of file ArtHandleTrackerManager.h.

613 { return doInputTag(); }
virtual art::InputTag doInputTag() const =0
Deferred implementation of inputTag().
template<typename Event>
std::string util::ArtHandleTrackerInterface< Event >::productClass ( ) const
inline

Returns the name of the class of handled data product.

Definition at line 607 of file ArtHandleTrackerManager.h.

607 { return doProductClass(); }
virtual std::string doProductClass() const =0
Deferred implementation of productClass().
template<typename Event>
std::type_info const* util::ArtHandleTrackerInterface< Event >::productType ( ) const
inline

Returns the name of the class of handled data product.

Definition at line 610 of file ArtHandleTrackerManager.h.

610 { return doProductType(); }
virtual std::type_info const * doProductType() const =0
Deferred implementation of productType().
template<typename Event>
bool util::ArtHandleTrackerInterface< Event >::removeCachedProduct ( )
inline

Removes the cached data product from event. Handle is cleared and won't be valid any more.

Definition at line 600 of file ArtHandleTrackerManager.h.

600 { return doRemoveCachedProduct(); }
virtual bool doRemoveCachedProduct()=0
Deferred implementation of removeCachedProduct().

The documentation for this struct was generated from the following file: