LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
file_mfStatsPlugin.cc
Go to the documentation of this file.
1 // vim: set sw=2 expandtab :
2 
3 #include "private/FileConfig.h"
4 
6 
7 #include "cetlib/ostream_handle.h"
12 
13 #include <fstream>
14 #include <memory>
15 #include <utility>
16 
17 using cet::ostream_handle;
18 using namespace std;
19 using namespace mf::service;
20 
21 namespace mf {
22 
24  struct Config {
27  };
28 
30  };
31 
32 } // namespace mf
33 
34 namespace {
35 
36  auto
37  makePlugin_(mf::file_mfStatsPluginConfig::Parameters const& ps)
38  {
39  ostream_handle osh{ps().file_config().filename(),
40  ps().file_config().append() ? ios::app : ios::trunc};
41  return make_unique<MFSTATSPLUGIN_RESULT_BASE>(ps().stats_dest(),
42  std::move(osh));
43  }
44 
45 } // unnamed namespace
46 
48 {
49  return makePlugin_(pset);
50 }
51 MAKE_PLUGIN_END
52 
fhicl::TableFragment< mf::priv::FileConfig > file_config
STL namespace.
MAKE_MFSTATSPLUGIN_START(, pset)
fhicl::TableFragment< ELstatistics::Config > stats_dest
#define FHICL_PROVIDE_ALLOWED_CONFIGURATION(klass)