LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
MixIOPolicy.h
Go to the documentation of this file.
1 #ifndef art_Framework_IO_ProductMix_MixIOPolicy_h
2 #define art_Framework_IO_ProductMix_MixIOPolicy_h
3 
5 // MixIOPolicy
6 //
7 // Fill in.
8 //
10 
16 #include "cetlib/exempt_ptr.h"
17 
18 #include <string>
19 
20 namespace art {
21 
22  using MixOpList = std::vector<std::unique_ptr<MixOpBase>>;
23 
24  class MixIOPolicy {
25  public:
26  virtual ~MixIOPolicy() noexcept = default;
27 
29  EntryNumberSequence const&) = 0;
30  virtual bool fileOpen() const = 0;
31  virtual std::size_t nEventsInFile() const = 0;
32  virtual FileIndex const& fileIndex() const = 0;
33  virtual cet::exempt_ptr<BranchIDLists const> branchIDLists() const = 0;
34  virtual void openAndReadMetaData(std::string fileName,
35  MixOpList& mixOps) = 0;
36  virtual SpecProdList readFromFile(MixOpBase const& mixOp,
37  EntryNumberSequence const& seq) = 0;
38  };
39 }
40 #endif /* art_Framework_IO_ProductMix_MixIOPolicy_h */
41 
42 // Local Variables:
43 // mode: c++
44 // End:
virtual EventAuxiliarySequence generateEventAuxiliarySequence(EntryNumberSequence const &)=0
std::vector< EventAuxiliary > EventAuxiliarySequence
Definition: MixTypes.h:28
virtual cet::exempt_ptr< BranchIDLists const > branchIDLists() const =0
std::vector< std::shared_ptr< EDProduct const >> SpecProdList
Definition: MixTypes.h:21
virtual void openAndReadMetaData(std::string fileName, MixOpList &mixOps)=0
virtual FileIndex const & fileIndex() const =0
std::vector< FileIndex::EntryNumber_t > EntryNumberSequence
Definition: MixTypes.h:27
virtual std::size_t nEventsInFile() const =0
Definition: MVAAlg.h:12
virtual ~MixIOPolicy() noexcept=default
virtual SpecProdList readFromFile(MixOpBase const &mixOp, EntryNumberSequence const &seq)=0
std::vector< std::unique_ptr< MixOpBase >> MixOpList
Definition: MixIOPolicy.h:22
virtual bool fileOpen() const =0