1 #ifndef art_Framework_Core_OutputModule_h 2 #define art_Framework_Core_OutputModule_h 46 class ResultsPrincipal;
57 std::vector<std::unique_ptr<FileCatalogMetadataPlugin>>;
65 return {
"module_label"};
77 std::vector<std::string>{
"keep *"}};
84 "The 'FCMDPlugins' parameter is a sequence of tables of the form:\n\n" 85 " FCMDPlugins: [ { plugin_type: <pluginClassName> ...}, ... ]\n\n" 86 "where each sequence element is the configuration for an instance\n" 87 "of a FileCatalogMetadataPlugin object. Please review the " 89 "at the top of \"art/Framework/Core/FileCatalogMetadataPlugin.h\" " 91 "more information.")};
145 std::atomic<std::size_t>& counts_run,
146 std::atomic<std::size_t>& counts_passed,
147 std::atomic<std::size_t>& counts_failed);
219 std::vector<fhicl::ParameterSet>
const& psets);
virtual void writeFileIdentifier()
bool doOpenFile(FileBlock const &fb)
std::array< bool, NumBranchTypes > const & hasNewlyDroppedBranch() const
void doWriteEvent(EventPrincipal &ep, ModuleContext const &mc)
virtual void writeProcessConfigurationRegistry()
fhicl::Atom< std::string > fileName
void updateBranchParents(EventPrincipal &ep)
virtual void readResults(ResultsPrincipal const &resp)
virtual void doBeginJob(detail::SharedResources const &resources)
virtual void finishEndFile()
fhicl::Sequence< std::string > outputCommands
virtual void incrementInputFileNumber()
fhicl::Atom< std::string > moduleType
virtual void event(EventPrincipal const &)
virtual void respondToCloseOutputFiles(FileBlock const &)
virtual void writeRun(RunPrincipal &r)=0
virtual void writeSubRun(SubRunPrincipal &sr)=0
virtual void doRegisterProducts(ProductDescriptions &, ModuleDescription const &)
std::vector< std::string > pluginNames_
OutputModule & operator=(OutputModule const &)=delete
bool doEndSubRun(SubRunPrincipal const &srp, ModuleContext const &mc)
ChannelGroupService::Name Name
virtual void respondToOpenInputFile(FileBlock const &)
void writeFileCatalogMetadata()
void doWriteSubRun(SubRunPrincipal &srp)
std::vector< BranchDescription > ProductDescriptions
void doSelectProducts(ProductTables const &)
bool doBeginSubRun(SubRunPrincipal const &srp, ModuleContext const &mc)
virtual void writeFileFormatVersion()
virtual void beginRun(RunPrincipal const &)
bool doEvent(EventPrincipal const &ep, ModuleContext const &mc, std::atomic< std::size_t > &counts_run, std::atomic< std::size_t > &counts_passed, std::atomic< std::size_t > &counts_failed)
BranchChildren branchChildren_
virtual void endRun(RunPrincipal const &)
virtual bool isFileOpen() const
virtual std::string const & lastClosedFileName() const
virtual ~OutputModule() noexcept
std::vector< std::unique_ptr< FileCatalogMetadataPlugin >> PluginCollection_t
void doRespondToCloseInputFile(FileBlock const &fb)
OutputFileStatus fileStatus() const
void selectProducts(ProductTables const &)
fhicl::TableFragment< Observer::EOConfig > eoFragment
virtual void writeFileIndex()
virtual void respondToOpenOutputFiles(FileBlock const &)
GroupSelectorRules groupSelectorRules_
bool limitReached() const
PluginCollection_t plugins_
void registerProducts(ProductDescriptions &, ModuleDescription const &)
std::string workerType() const
virtual void setSubRunAuxiliaryRangeSetID(RangeSet const &)
fhicl::OptionalDelegatedParameter fcmdPlugins
std::set< std::string > operator()()
virtual void writeParameterSetRegistry()
std::array< bool, NumBranchTypes > hasNewlyDroppedBranch_
virtual void endSubRun(SubRunPrincipal const &)
bool doEndRun(RunPrincipal const &rp, ModuleContext const &mc)
std::array< std::unique_ptr< GroupSelector const >, NumBranchTypes > groupSelector_
virtual void setRunAuxiliaryRangeSetID(RangeSet const &)
virtual void writeParentageRegistry()
virtual void write(EventPrincipal &e)=0
void doSetSubRunAuxiliaryRangeSetID(RangeSet const &)
SelectionsArray keptProducts_
ServiceHandle< CatalogInterface > ci_
virtual void writeProductDescriptionRegistry()
std::array< Selections, NumBranchTypes > SelectionsArray
virtual Granularity fileGranularity() const
OutputModule(fhicl::ParameterSet const &pset)
std::map< ProductID, std::set< ParentageID > > branchParents_
bool selected(BranchDescription const &) const
std::string configuredFileName_
virtual bool requestsToCloseFile() const
int remainingEvents() const
void fillDependencyGraph()
cet::BasicPluginFactory pluginFactory_
void doRespondToOpenOutputFiles(FileBlock const &fb)
virtual void postSelectProducts()
fhicl::Atom< std::string > streamName
PluginCollection_t makePlugins_(std::vector< fhicl::ParameterSet > const &psets)
fhicl::Atom< std::string > dataTier
virtual void openFile(FileBlock const &)
void doWriteRun(RunPrincipal &rp)
virtual void writeEventHistory()
SelectionsArray const & keptProducts() const
virtual void writeProcessHistoryRegistry()
friend class OutputWorker
virtual void writeProductDependencies()
virtual void setFileStatus(OutputFileStatus)
std::map< ProductID, std::set< ParentageID >> BranchParents
virtual void doWriteFileCatalogMetadata(FileCatalogMetadata::collection_type const &md, FileCatalogMetadata::collection_type const &ssmd)
virtual void respondToCloseInputFile(FileBlock const &)
void doRespondToCloseOutputFiles(FileBlock const &fb)
static constexpr double sr
BranchChildren const & branchChildren() const
virtual void beginSubRun(SubRunPrincipal const &)
void doRespondToOpenInputFile(FileBlock const &fb)
virtual void writeBranchIDListRegistry()
virtual void startEndFile()
void doSetRunAuxiliaryRangeSetID(RangeSet const &)
void configure(OutputModuleDescription const &desc)
bool doBeginRun(RunPrincipal const &rp, ModuleContext const &)