LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
DetectorPropertiesService.h
Go to the documentation of this file.
1 // DetectorPropertiesService.h
3 //
4 // Pure virtual service interface for DetectorProperties functions
5 //
6 // jpaley@fnal.gov
7 //
9 #ifndef DETECTORPROPERTIESSERVICE_H
10 #define DETECTORPROPERTIESSERVICE_H
11 
12 namespace art {
13  class Event;
14 }
15 
19 
22 
23 namespace detinfo {
24  class DetectorClocksData;
25 
27  public:
29 
30  virtual ~DetectorPropertiesService() = default;
32  {
33  auto const clockData =
35  return DataForJob(clockData);
36  }
38  {
39  return getDataForJob(clockData);
40  }
42  {
43  auto const clockData = art::ServiceHandle<detinfo::DetectorClocksService const>()->DataFor(e);
44  return DataFor(e, clockData);
45  }
47  detinfo::DetectorClocksData const& clockData) const
48  {
49  return getDataFor(e, clockData);
50  }
51 
52  private:
53  virtual DetectorPropertiesData getDataForJob(
54  detinfo::DetectorClocksData const& clockData) const = 0;
55  virtual DetectorPropertiesData getDataFor(
56  art::Event const& e,
57  detinfo::DetectorClocksData const& clockData) const = 0;
58  };
59 } //namespace detinfo
60 
62 
63 #endif // DETECTORPROPERTIESSERVICE_H
DetectorPropertiesData DataFor(art::Event const &e, detinfo::DetectorClocksData const &clockData) const
DetectorPropertiesData DataForJob() const
DetectorPropertiesData DataFor(art::Event const &e) const
General LArSoft Utilities.
Contains all timing reference information for the detector.
Definition: MVAAlg.h:12
#define DECLARE_ART_SERVICE_INTERFACE(svc, scope)
Float_t e
Definition: plot.C:35
DetectorPropertiesData DataForJob(detinfo::DetectorClocksData const &clockData) const