ToyProductFilter_module.cc
Go to the documentation of this file.
1 // vim: set sw=2 expandtab :
8 
9 #include <cmath>
10 #include <iostream>
11 #include <sstream>
12 #include <string>
13 
14 using namespace art;
15 using namespace std;
16 
17 namespace {
18 
19  double
20  f(int val)
21  {
22  return sqrt(val);
23  }
24 
25  void
26  use_cpu_time(double& val)
27  {
28  for (int i = 0; i < 100'000'000; ++i) {
29  val = f(i);
30  }
31  }
32 
33 } // unnamed namespace
34 
35 namespace arttest {
36 
37  class ToyProductFilter : public EDFilter {
38  public:
39  struct Config {
40  };
42  explicit ToyProductFilter(Parameters const& pset);
43 
44  private:
45  bool filter(Event& e) override;
46  };
47 
48  ToyProductFilter::ToyProductFilter(Parameters const& pset) : EDFilter{pset} {}
49 
50  bool
52  {
53  double val{};
54  use_cpu_time(val);
55  return true;
56  }
57 
58 } // namespace arttest
59 
STL namespace.
const double e
#define DEFINE_ART_MODULE(klass)
Definition: ModuleMacros.h:68
bool filter(Event &e) override