1 #ifndef art_Framework_IO_Root_RootOutputFile_h 2 #define art_Framework_IO_Root_RootOutputFile_h 14 #include "boost/filesystem.hpp" 22 #include "cetlib/sqlite/Connection.h" 39 class ResultsPrincipal;
44 class SubRunAuxiliary;
46 class ResultsAuxiliary;
59 mutable void const* product_{
nullptr};
66 return branchDescription_->branchName();
81 std::string
const& fileName,
83 int const compressionLevel,
84 int64_t
const saveMemoryObjectThreshold,
85 int64_t
const treeMaxVirtualSize,
89 bool dropMetaDataForDroppedData,
90 bool fastCloningRequested);
137 template <BranchType>
139 std::vector<ProductProvenance>*);
141 template <BranchType BT>
146 std::string
const& wrappedName);
148 template <BranchType BT>
152 std::string
const& wrappedName);
204 std::chrono::steady_clock::now()};
SubRunAuxiliary const * pSubRunAux_
EventAuxiliary const * pEventAux_
std::set< ProductID > branchesWithStoredHistory_
void setFileStatus(OutputFileStatus const ofs)
int const compressionLevel_
cet::sqlite::Connection rootFileDB_
bool fastCloningEnabledAtConstruction_
RootOutputFile(OutputModule *, std::string const &fileName, ClosingCriteria const &fileSwitchCriteria, int const compressionLevel, int64_t const saveMemoryObjectThreshold, int64_t const treeMaxVirtualSize, int const splitLevel, int const basketSize, DropMetaData dropMetaData, bool dropMetaDataForDroppedData, bool fastCloningRequested)
std::enable_if_t<!detail::RangeSetsSupported< BT >::value, art::EDProduct const * > getProduct(OutputHandle const &, RangeSet const &productRS, std::string const &wrappedName)
ProductProvenances * pRunProductProvenanceVector_
int64_t const treeMaxVirtualSize_
ProductProvenances resultsProductProvenanceVector_
std::chrono::steady_clock::time_point beginTime_
std::unique_ptr< TFile > filePtr_
void beginInputFile(RootFileBlock const *, bool fastClone)
DropMetaData dropMetaData_
ProductProvenances runProductProvenanceVector_
BranchDescription const * branchDescription_
void writeOne(EventPrincipal const &)
void writeProductDependencies()
void setRunAuxiliaryRangeSetID(RangeSet const &)
void writeFileFormatVersion()
void writeParentageRegistry()
ProductProvenances eventProductProvenanceVector_
ProductProvenances * pResultsProductProvenanceVector_
void incrementInputFileNumber()
void writeFileCatalogMetadata(FileStatsCollector const &stats, FileCatalogMetadata::collection_type const &, FileCatalogMetadata::collection_type const &)
bool dropMetaDataForDroppedData_
void setSubRunAuxiliaryRangeSetID(RangeSet const &)
bool operator<(ProductInfo const &a, ProductInfo const &b)
ProductProvenances subRunProductProvenanceVector_
void writeSubRun(SubRunPrincipal const &)
detail::DummyProductCache dummyProductCache_
std::array< OutputItemList, NumBranchTypes > OutputItemListArray
void writeResults(ResultsPrincipal &resp)
RootOutputTreePtrArray treePointers_
void respondToCloseInputFile(FileBlock const &)
std::string const & branchName() const
ProductProvenances * pEventProductProvenanceVector_
bool maxSizeReached(unsigned const maxFileSize) const
void writeProductDescriptionRegistry()
void writeParameterSetRegistry()
TTree * eventHistoryTree_
std::string const & currentFileName() const
OutputItem(BranchDescription const *pd)
std::string value(boost::any const &)
bool maxEventsPerFileReached(FileIndex::EntryNumber_t const maxEventsPerFile) const
void writeProcessConfigurationRegistry()
void createDatabaseTables()
int64_t const saveMemoryObjectThreshold_
void writeRun(RunPrincipal const &)
std::array< std::unique_ptr< RootOutputTree >, NumBranchTypes > RootOutputTreePtrArray
void writeProcessHistoryRegistry()
std::vector< ProductProvenance > ProductProvenances
std::set< OutputItem > OutputItemList
ResultsAuxiliary const * pResultsAux_
ProductProvenances * pSubRunProductProvenanceVector_
RunAuxiliary const * pRunAux_
OutputItemListArray selectedOutputItemList_
History const * pHistory_
ClosingCriteria fileSwitchCriteria_
void fillBranches(Principal const &, std::vector< ProductProvenance > *)
bool requestsToCloseFile()