LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
MixOpBase.h
Go to the documentation of this file.
1 #ifndef art_Framework_IO_ProductMix_MixOpBase_h
2 #define art_Framework_IO_ProductMix_MixOpBase_h
3 
4 #include <string>
5 
8 #include "art/Utilities/fwd.h"
10 #include "canvas/Persistency/Provenance/Compatibility/BranchIDList.h"
13 #include "cetlib/exempt_ptr.h"
14 
15 namespace art {
16  class MixOpBase;
17 
18  class EDProduct;
19  class Event;
20  class PtrRemapper;
21 }
22 
24 public:
25  virtual ~MixOpBase() noexcept = default;
26 
27  virtual InputTag const& inputTag() const = 0;
28 
29  virtual TypeID const& inputType() const = 0;
30 
31  virtual std::string const& outputInstanceLabel() const = 0;
32 
33  virtual void mixAndPut(Event& e, PtrRemapper const& remap) const = 0;
34 
35  virtual void initializeBranchInfo(RootBranchInfoList const& rbiList) = 0;
36 
37  virtual ProductID incomingProductID() const = 0;
38 
39  virtual ProductID outgoingProductID() const = 0;
40 
41  virtual void readFromFile(
42  EntryNumberSequence const& seq,
43  cet::exempt_ptr<BranchIDLists const> branchIDLists) = 0;
44 
45  virtual BranchType branchType() const = 0;
46 
47 protected:
48  void configureStreamers(cet::exempt_ptr<BranchIDLists const> branchIDLists);
49 };
50 #endif /* art_Framework_IO_ProductMix_MixOpBase_h */
51 
52 // Local Variables:
53 // mode: c++
54 // End:
virtual void mixAndPut(Event &e, PtrRemapper const &remap) const =0
void configureStreamers(cet::exempt_ptr< BranchIDLists const > branchIDLists)
Definition: MixOpBase.cc:9
virtual ~MixOpBase() noexcept=default
virtual TypeID const & inputType() const =0
virtual InputTag const & inputTag() const =0
virtual ProductID incomingProductID() const =0
virtual ProductID outgoingProductID() const =0
virtual void readFromFile(EntryNumberSequence const &seq, cet::exempt_ptr< BranchIDLists const > branchIDLists)=0
std::vector< FileIndex::EntryNumber_t > EntryNumberSequence
Definition: MixTypes.h:23
BranchType
Definition: BranchType.h:18
HLT enums.
virtual void initializeBranchInfo(RootBranchInfoList const &rbiList)=0
Float_t e
Definition: plot.C:34
virtual BranchType branchType() const =0
virtual std::string const & outputInstanceLabel() const =0