DetectorPropertiesService.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 // DetectorPropertiesService.h
3 //
4 // Pure virtual service interface for DetectorProperties functions
5 //
6 // jpaley@fnal.gov
7 //
8 ////////////////////////////////////////////////////////////////////////
9 #ifndef DETECTORPROPERTIESSERVICE_H
10 #define DETECTORPROPERTIESSERVICE_H
11 
17 
18 namespace detinfo {
19  class DetectorClocksData;
20 
22  public:
24 
25  virtual ~DetectorPropertiesService() = default;
27  DataForJob() const
28  {
29  auto const clockData =
31  return DataForJob(clockData);
32  }
34  DataForJob(detinfo::DetectorClocksData const& clockData) const
35  {
36  return getDataForJob(clockData);
37  }
39  DataFor(art::Event const& e) const
40  {
41  auto const clockData =
43  return DataFor(e, clockData);
44  }
46  DataFor(art::Event const& e, detinfo::DetectorClocksData const& clockData) const
47  {
48  return getDataFor(e, clockData);
49  }
50 
51  private:
53  detinfo::DetectorClocksData const& clockData) const = 0;
55  art::Event const& e,
56  detinfo::DetectorClocksData const& clockData) const = 0;
57  };
58 } //namespace detinfo
59 
61 
62 #endif // DETECTORPROPERTIESSERVICE_H
virtual DetectorPropertiesData getDataForJob(detinfo::DetectorClocksData const &clockData) const =0
DetectorPropertiesData DataFor(art::Event const &e, detinfo::DetectorClocksData const &clockData) const
virtual ~DetectorPropertiesService()=default
virtual DetectorPropertiesData getDataFor(art::Event const &e, detinfo::DetectorClocksData const &clockData) const =0
const double e
DetectorPropertiesData DataForJob() const
DetectorPropertiesData DataFor(art::Event const &e) const
General LArSoft Utilities.
Contains all timing reference information for the detector.
#define DECLARE_ART_SERVICE_INTERFACE(svc, scope)
DetectorPropertiesData DataForJob(detinfo::DetectorClocksData const &clockData) const