LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
RPWorkerT.h
Go to the documentation of this file.
1 #ifndef art_Framework_Core_RPWorkerT_h
2 #define art_Framework_Core_RPWorkerT_h
3 // vim: set sw=2 expandtab :
4 
6 
7 #include <memory>
8 
9 namespace art {
10 
11  template <typename RP>
12  class RPWorkerT : public RPWorker {
13 
14  public:
15  using RPType = RP;
16 
17  public:
18  RPWorkerT(RPParams const& p, fhicl::ParameterSet const& ps);
19 
20  private:
21  RP& rp_() override;
22 
23  RP const& rp_() const override;
24 
25  private:
27  };
28 
29  template <typename RP>
31  : RPWorker(p), rpPlugin_(ps)
32  {}
33 
34  template <typename RP>
35  inline auto
37  {
38  return rpPlugin_;
39  }
40 
41  template <typename RP>
42  inline auto
43  RPWorkerT<RP>::rp_() const -> RPType const&
44  {
45  return rpPlugin_;
46  }
47 
48 } // namespace art
49 
50 #endif /* art_Framework_Core_RPWorkerT_h */
51 
52 // Local Variables:
53 // mode: c++
54 // End:
RPWorkerT(RPParams const &p, fhicl::ParameterSet const &ps)
Definition: RPWorkerT.h:30
Definition: MVAAlg.h:12
RP & rp_() override
Definition: RPWorkerT.h:36