CMS 3D CMS Logo

EmbeddedRootSource.h
Go to the documentation of this file.
1 #ifndef IOPool_Input_EmbeddedRootSource_h
2 #define IOPool_Input_EmbeddedRootSource_h
3 
4 /*----------------------------------------------------------------------
5 
6 EmbeddedRootSource: This is an InputSource
7 
8 ----------------------------------------------------------------------*/
9 
16 
17 #include <array>
18 #include <memory>
19 #include <string>
20 #include <vector>
21 
22 namespace CLHEP {
23  class HepRandomEngine;
24 }
25 
26 namespace edm {
27 
29  class FileCatalogItem;
30  class RunHelperBase;
31  class RootEmbeddedFileSequence;
32  struct VectorInputSourceDescription;
33 
35  public:
37  ~EmbeddedRootSource() override;
40 
41  // const accessors
42  bool skipBadFiles() const { return skipBadFiles_; }
43  bool bypassVersionCheck() const { return bypassVersionCheck_; }
44  unsigned int nStreams() const { return nStreams_; }
45  int treeMaxVirtualSize() const { return treeMaxVirtualSize_; }
47  RunHelperBase* runHelper() { return runHelper_.get(); }
48 
49  static void fillDescriptions(ConfigurationDescriptions& descriptions);
50 
51  private:
52  virtual void closeFile_();
53  void beginJob() override;
54  void endJob() override;
56  size_t& fileNameHash,
57  CLHEP::HepRandomEngine*,
58  EventID const* id,
59  bool recycleFiles) override;
60  void readOneSpecified(EventPrincipal& cache, size_t& fileNameHash, SecondaryEventIDAndFileInfo const& id) override;
61  void dropUnwantedBranches_(std::vector<std::string> const& wantedBranches) override;
62 
64 
65  unsigned int nStreams_;
70  std::unique_ptr<RunHelperBase> runHelper_;
71 
74 
75  }; // class EmbeddedRootSource
76 } // namespace edm
77 #endif
edm::EmbeddedRootSource::EmbeddedRootSource
EmbeddedRootSource(ParameterSet const &pset, VectorInputSourceDescription const &desc)
Definition: EmbeddedRootSource.cc:16
edm::EmbeddedRootSource::productSelectorRules
ProductSelectorRules const & productSelectorRules() const
Definition: EmbeddedRootSource.h:46
RootServiceChecker.h
propagate_const.h
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::VectorInputSourceDescription
Definition: VectorInputSourceDescription.h:18
edm::VectorInputSource
Definition: VectorInputSource.h:27
edm::InputFileCatalog
Definition: InputFileCatalog.h:32
edm::EmbeddedRootSource::readOneEvent
bool readOneEvent(EventPrincipal &cache, size_t &fileNameHash, CLHEP::HepRandomEngine *, EventID const *id, bool recycleFiles) override
Definition: EmbeddedRootSource.cc:50
edm::EmbeddedRootSource::~EmbeddedRootSource
~EmbeddedRootSource() override
Definition: EmbeddedRootSource.cc:39
InputFileCatalog.h
edm::SecondaryEventIDAndFileInfo
Definition: SecondaryEventIDAndFileInfo.h:8
edm::EmbeddedRootSource::treeMaxVirtualSize_
const int treeMaxVirtualSize_
Definition: EmbeddedRootSource.h:68
edm::EmbeddedRootSource::skipBadFiles
bool skipBadFiles() const
Definition: EmbeddedRootSource.h:42
edm::EmbeddedRootSource::catalog_
InputFileCatalog catalog_
Definition: EmbeddedRootSource.h:72
edm::propagate_const
Definition: propagate_const.h:32
edm::EmbeddedRootSource::runHelper
RunHelperBase * runHelper()
Definition: EmbeddedRootSource.h:47
edm::EmbeddedRootSource::runHelper_
std::unique_ptr< RunHelperBase > runHelper_
Definition: EmbeddedRootSource.h:70
edm::EventPrincipal
Definition: EventPrincipal.h:48
edm::RootServiceChecker
Definition: RootServiceChecker.h:5
edm::EmbeddedRootSource::nStreams_
unsigned int nStreams_
Definition: EmbeddedRootSource.h:65
edm::EmbeddedRootSource::skipBadFiles_
bool skipBadFiles_
Definition: EmbeddedRootSource.h:66
utilities.cache
def cache(function)
Definition: utilities.py:3
edm::EmbeddedRootSource::productSelectorRules_
ProductSelectorRules productSelectorRules_
Definition: EmbeddedRootSource.h:69
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
edm::ProductSelectorRules
Definition: ProductSelectorRules.h:24
CLHEP
Definition: CocoaGlobals.h:27
edm::VectorInputSource::processHistoryRegistryForUpdate
ProcessHistoryRegistry & processHistoryRegistryForUpdate()
Definition: VectorInputSource.h:57
edm::RunHelperBase
Definition: RunHelper.h:15
edm::ParameterSet
Definition: ParameterSet.h:47
edm::VectorInputSource::productRegistryUpdate
ProductRegistry & productRegistryUpdate()
Definition: VectorInputSource.h:55
edm::EmbeddedRootSource::bypassVersionCheck
bool bypassVersionCheck() const
Definition: EmbeddedRootSource.h:43
edm::EmbeddedRootSource::rootServiceChecker_
RootServiceChecker rootServiceChecker_
Definition: EmbeddedRootSource.h:63
edm::EmbeddedRootSource::fillDescriptions
static void fillDescriptions(ConfigurationDescriptions &descriptions)
Definition: EmbeddedRootSource.cc:76
edm::EmbeddedRootSource
Definition: EmbeddedRootSource.h:34
edm::EmbeddedRootSource::bypassVersionCheck_
bool bypassVersionCheck_
Definition: EmbeddedRootSource.h:67
edm::EmbeddedRootSource::treeMaxVirtualSize
int treeMaxVirtualSize() const
Definition: EmbeddedRootSource.h:45
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
ConfigurationDescriptions
Frameworkfwd.h
edm::EmbeddedRootSource::beginJob
void beginJob() override
Definition: EmbeddedRootSource.cc:41
edm::EmbeddedRootSource::closeFile_
virtual void closeFile_()
Definition: EmbeddedRootSource.cc:48
edm::EmbeddedRootSource::endJob
void endJob() override
Definition: EmbeddedRootSource.cc:43
edm::EmbeddedRootSource::nStreams
unsigned int nStreams() const
Definition: EmbeddedRootSource.h:44
edm::EmbeddedRootSource::fileSequence_
edm::propagate_const< std::unique_ptr< RootEmbeddedFileSequence > > fileSequence_
Definition: EmbeddedRootSource.h:73
edm::EmbeddedRootSource::readOneSpecified
void readOneSpecified(EventPrincipal &cache, size_t &fileNameHash, SecondaryEventIDAndFileInfo const &id) override
Definition: EmbeddedRootSource.cc:58
edm::EmbeddedRootSource::dropUnwantedBranches_
void dropUnwantedBranches_(std::vector< std::string > const &wantedBranches) override
Definition: EmbeddedRootSource.cc:64
edm::EventID
Definition: EventID.h:31
VectorInputSource.h
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
ProductSelectorRules.h