A LArSoft service is a class, with a single instance managed by the framework, that performs an operation. A service is used by LArSoft algorithms and art modules. Source*
Most of LArSoft services are factorized into two parts:
- service provider actually providing services that can be used stand-alone (without art framework) ⇒ e.g. for a minimalist test environment
- art service interfacing the provider with the art framework
This factorization model allows service providers to be tested without pulling in the art framework, and to be used in art-unaware environments.
By using service providers, most of the user code should interact only with the provider interface.
- Obtain the service provider such as geometry, detector-properties, timing, etc.
- Use it, move it around, pass it to algorithms.
This is a simple scheme of LArSoft services in factorization model:
- the service creates and owns an instance of the provider
- the provider is a free class that knows only about its own job
Services are provided in the areas of geometry, physical properties, physics simulation and miscellaneous.
Geometry services provide a description of the physical and readout aspects of the detector such as:
- TPC structure – physical characteristics of cryostats, TPCs, wire planes and wires and their relations
- optical detector structure
- readout channel mappings
- TPCs (e.g. readout channels to physical wires)
- optical readout channels with photodetectors
- auxiliary detectors
Physical properties services such as:
- Detector Properties
- pertaining mostly to readout sampling rates and readout window size
- conversion between readout ticks and times
- drift velocity, dQ/dx → dE/dx
- electron lifetime
- LArProperties about the liquid argon environment
- radiation length, argon temperature, etc.
Physics simulation services such as:
- Voxel Calculator helps with computations in the virtual grid. GEANT splits the detector volume into voxels hence the name.
- G4 Parameters stores the parameters GEANT is configured with.
- Photon Visibility describes the simulation of the transportation of photons to the optical detectors.
- Space Charge describes the effect of distortions of TPC’s electric field.
Miscellaneous services such as:
- Detector conditions fetching information about DAQ channel status, pedestals, possibly from databases
- Detector Clocks provides a coherent view of times in the event related to the beam trigger.
- FFT facilitates the application of Fourier transform in simulation of TPC signals and their calibration (e.g. noise reduction).