All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SpaceChargeServiceStandard.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 // \file SpaceChargeServiceStandard.h
3 //
4 // \brief header of service for storing/accessing space charge distortions
5 //
6 // \author mrmooney@bnl.gov
7 //
8 ////////////////////////////////////////////////////////////////////////
9 #ifndef SPACECHARGESERVICESTANDARD_H
10 #define SPACECHARGESERVICESTANDARD_H
11 
12 #include "art/Framework/Services/Registry/ServiceDeclarationMacros.h"
15 
16 namespace art {
17  class ActivityRegistry;
18  class Run;
19 }
20 
21 namespace fhicl {
22  class ParameterSet;
23 }
24 
25 namespace spacecharge {
27  public:
28  // this enables art to print the configuration help:
29  // using Parameters =
30  // art::ServiceTable<spacecharge::SpaceChargeStandard::ConfigurationParameters_t>;
31 
32  SpaceChargeServiceStandard(fhicl::ParameterSet const& pset, art::ActivityRegistry& reg);
33 
34  private:
35  void reconfigure(fhicl::ParameterSet const& pset);
36  void preBeginRun(const art::Run& run);
37 
38  const provider_type*
39  provider() const override
40  {
41  return &fProp;
42  }
43 
45 
46  }; // class SpaceChargeServiceStandard
47 } // namespace spacecharge
48 
49 DECLARE_ART_SERVICE_INTERFACE_IMPL(spacecharge::SpaceChargeServiceStandard,
51  SHARED)
52 
53 #endif // SPACECHARGESERVICESTANDARD_H
void reconfigure(fhicl::ParameterSet const &pset)
const provider_type * provider() const override
SpaceChargeServiceStandard(fhicl::ParameterSet const &pset, art::ActivityRegistry &reg)