LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
EDProductGetter.h
Go to the documentation of this file.
1 #ifndef canvas_Persistency_Common_EDProductGetter_h
2 #define canvas_Persistency_Common_EDProductGetter_h
3 
5 #include "canvas/Utilities/fwd.h"
6 
7 namespace art {
8  class EDProduct;
9  class EDProductGetter;
10 }
11 
13 public:
14  EDProductGetter() = default;
15  EDProductGetter(EDProductGetter const&) = delete;
16  EDProductGetter& operator=(EDProductGetter const&) = delete;
17  virtual ~EDProductGetter() = default;
18 
19  // Can you even try to resolve the product?
20  virtual bool isReady() const = 0;
21  virtual EDProduct const* getIt() const = 0;
22  virtual EDProduct const* anyProduct() const = 0;
23  virtual EDProduct const* uniqueProduct() const = 0;
24  virtual EDProduct const* uniqueProduct(TypeID const&) const = 0;
25  virtual bool resolveProduct(TypeID const&) const = 0;
26  virtual bool resolveProductIfAvailable(TypeID const&) const = 0;
27 }; // EDProductGetter
28 
29 #endif /* canvas_Persistency_Common_EDProductGetter_h */
30 
31 // Local Variables:
32 // mode: c++
33 // End:
virtual EDProduct const * getIt() const =0
virtual bool resolveProduct(TypeID const &) const =0
virtual bool isReady() const =0
virtual EDProduct const * uniqueProduct() const =0
EDProductGetter()=default
virtual ~EDProductGetter()=default
EDProductGetter & operator=(EDProductGetter const &)=delete
HLT enums.
virtual EDProduct const * anyProduct() const =0
virtual bool resolveProductIfAvailable(TypeID const &) const =0