All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 
12 namespace art {
13  class Event;
14 }
15 
19 
20 #include "art/Framework/Services/Registry/ServiceDeclarationMacros.h"
21 #include "art/Framework/Services/Registry/ServiceHandle.h"
22 
23 namespace detinfo {
24  class DetectorClocksData;
25 
27  public:
29 
30  virtual ~DetectorPropertiesService() = default;
32  DataForJob() const
33  {
34  auto const clockData =
35  art::ServiceHandle<detinfo::DetectorClocksService const>()->DataForJob();
36  return DataForJob(clockData);
37  }
39  DataForJob(detinfo::DetectorClocksData const& clockData) const
40  {
41  return getDataForJob(clockData);
42  }
44  DataFor(art::Event const& e) const
45  {
46  auto const clockData =
47  art::ServiceHandle<detinfo::DetectorClocksService const>()->DataFor(e);
48  return DataFor(e, clockData);
49  }
51  DataFor(art::Event const& e, detinfo::DetectorClocksData const& clockData) const
52  {
53  return getDataFor(e, clockData);
54  }
55 
56  private:
58  detinfo::DetectorClocksData const& clockData) const = 0;
60  art::Event const& e,
61  detinfo::DetectorClocksData const& clockData) const = 0;
62  };
63 } //namespace detinfo
64 
65 DECLARE_ART_SERVICE_INTERFACE(detinfo::DetectorPropertiesService, SHARED)
66 
67 #endif // DETECTORPROPERTIESSERVICE_H
DetectorPropertiesData DataFor(art::Event const &e, detinfo::DetectorClocksData const &clockData) const
virtual ~DetectorPropertiesService()=default
DetectorPropertiesData DataForJob() const
virtual DetectorPropertiesData getDataForJob(detinfo::DetectorClocksData const &clockData) const =0
DetectorPropertiesData DataFor(art::Event const &e) const
Contains all timing reference information for the detector.
do i e
virtual DetectorPropertiesData getDataFor(art::Event const &e, detinfo::DetectorClocksData const &clockData) const =0
DetectorPropertiesData DataForJob(detinfo::DetectorClocksData const &clockData) const