CMS 3D CMS Logo

RootEmbeddedFileSequence.h
Go to the documentation of this file.
1 #ifndef IOPool_Input_RootEmbeddedFileSequence_h
2 #define IOPool_Input_RootEmbeddedFileSequence_h
3 
4 /*----------------------------------------------------------------------
5 
6 RootEmbeddedFileSequence: This is an InputSource
7 
8 ----------------------------------------------------------------------*/
9 
10 #include "RootInputFileSequence.h"
14 
15 #include <memory>
16 #include <string>
17 #include <vector>
18 
19 namespace CLHEP {
20  class HepRandomEngine;
21 }
22 
23 namespace edm {
24 
25  class BranchID;
26  class FileCatalogItem;
27  class InputFileCatalog;
29  class EmbeddedRootSource;
30  class RootFile;
31 
33  public:
36  InputFileCatalog const& catalog);
37  ~RootEmbeddedFileSequence() override;
38 
39  RootEmbeddedFileSequence(RootEmbeddedFileSequence const&) = delete; // Disallow copying and moving
40  RootEmbeddedFileSequence& operator=(RootEmbeddedFileSequence const&) = delete; // Disallow copying and moving
41 
42  void closeFile_() override;
43  void endJob();
44  void skipEntries(unsigned int offset);
45  bool readOneEvent(
46  EventPrincipal& cache, size_t& fileNameHash, CLHEP::HepRandomEngine*, EventID const* id, bool recycleFiles);
47  bool readOneRandom(EventPrincipal& cache, size_t& fileNameHash, CLHEP::HepRandomEngine*, EventID const*, bool);
48  bool readOneRandomWithID(
49  EventPrincipal& cache, size_t& fileNameHash, CLHEP::HepRandomEngine*, EventID const* id, bool);
50  bool readOneSequential(
51  EventPrincipal& cache, size_t& fileNameHash, CLHEP::HepRandomEngine*, EventID const*, bool recycleFiles);
52  bool readOneSequentialWithID(
53  EventPrincipal& cache, size_t& fileNameHash, CLHEP::HepRandomEngine*, EventID const* id, bool);
54  void readOneSpecified(EventPrincipal& cache, size_t& fileNameHash, SecondaryEventIDAndFileInfo const& id);
55 
56  static void fillDescription(ParameterSetDescription& desc);
57 
58  private:
59  void initFile_(bool skipBadFiles) override;
60  RootFileSharedPtr makeRootFile(std::shared_ptr<InputFile> filePtr) override;
61 
63 
64  std::vector<ProcessHistoryID> orderedProcessHistoryIDs_;
65 
68  bool (RootEmbeddedFileSequence::*fptr_)(EventPrincipal&, size_t&, CLHEP::HepRandomEngine*, EventID const*, bool);
71  unsigned int treeCacheSize_;
73  }; // class RootEmbeddedFileSequence
74 } // namespace edm
75 #endif
static std::string const input
Definition: EdmProvDump.cc:48
std::shared_ptr< RootFile > RootFileSharedPtr
HLT enums.
def cache(function)
Definition: utilities.py:3
std::vector< ProcessHistoryID > orderedProcessHistoryIDs_