LArSoft
v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
|
art service managing detinfo::DetectorClocksStandard
.
More...
#include "DetectorClocksServiceStandard.h"
Public Types | |
typedef detinfo::DetectorClocks | provider_type |
Public Member Functions | |
DetectorClocksServiceStandard (fhicl::ParameterSet const &pset, art::ActivityRegistry ®) | |
virtual void | reconfigure (fhicl::ParameterSet const &pset) override |
void | preBeginRun (const art::Run &run) |
void | preProcessEvent (const art::Event &evt) |
void | postOpenFile (const std::string &filename) |
virtual const provider_type * | provider () const override |
Private Attributes | |
std::unique_ptr< detinfo::DetectorClocksStandard > | fClocks |
art service managing detinfo::DetectorClocksStandard
.
This art service manages LArSoft's service provider detinfo::DetectorClocksStandard
, which implements detinfo::DetectorClocks
interface.
For information about functionality of the service, see the documentation of its interface, detinfo::DetectorClocks
. For information of the configuration, see also detinfo::DetectorClocksStandard
.
The configuration parameters are documented in the service provider implementation: detinfo::DetectorClocksStandard
.
This service manager honors the InheritClockConfig
configuration option in the following way:
configuration, an exception is thrown claiming an "historical disagreement"
values from that configurations override the ones in the configuration of the current job; a value from the configuration of the current job is retained only if it was not present in the past (i.e. it is a new configuration parameter added since the input file was produced).
The "past jobs" are the jobs that have produced the input file, and whose configuration is stored by art in the input file itself. The check and reconfiguration is performed on each new input file.
The trigger and beam gate times are set by this service before each event is processed. The logic is the following:
raw::Trigger
) data product withinput tag TriggerName()
(from the configuration), that data product is read and the trigger and beam gate times stored in it are imported in the current service provider configuration; if there are more than one raw::Trigger
objects in the data product, an exception is thrown
of the service provider is updated using the default values of trigger and beam times specified in the service configuration
The first set up happens on opening the first run in the first input file. Accessing this service before (e.g. during beginJob()
phase) yields undefined behaviour.
Definition at line 85 of file DetectorClocksServiceStandard.h.
|
inherited |
Definition at line 22 of file DetectorClocksService.h.
detinfo::DetectorClocksServiceStandard::DetectorClocksServiceStandard | ( | fhicl::ParameterSet const & | pset, |
art::ActivityRegistry & | reg | ||
) |
Definition at line 9 of file DetectorClocksServiceStandard_service.cc.
References art::ActivityRegistry::sPostOpenFile, art::ActivityRegistry::sPreBeginRun, and art::ActivityRegistry::sPreProcessEvent.
void detinfo::DetectorClocksServiceStandard::postOpenFile | ( | const std::string & | filename | ) |
Definition at line 45 of file DetectorClocksServiceStandard_service.cc.
References DEFINE_ART_SERVICE_INTERFACE_IMPL, fClocks, file, fhicl::ParameterSet::get(), detinfo::kInheritConfigTypeMax, and fhicl::make_ParameterSet().
void detinfo::DetectorClocksServiceStandard::preBeginRun | ( | const art::Run & | run | ) |
Definition at line 35 of file DetectorClocksServiceStandard_service.cc.
References fClocks.
void detinfo::DetectorClocksServiceStandard::preProcessEvent | ( | const art::Event & | evt | ) |
Definition at line 28 of file DetectorClocksServiceStandard_service.cc.
References fClocks, and detinfo::setDetectorClocksStandardTrigger().
|
inlineoverridevirtual |
Implements detinfo::DetectorClocksService.
Definition at line 94 of file DetectorClocksServiceStandard.h.
References fClocks.
|
overridevirtual |
Implements detinfo::DetectorClocksService.
Definition at line 20 of file DetectorClocksServiceStandard_service.cc.
References fClocks.
|
private |
Definition at line 98 of file DetectorClocksServiceStandard.h.
Referenced by postOpenFile(), preBeginRun(), preProcessEvent(), provider(), and reconfigure().