LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
Tool interface for creating a pedestal estimator algorithm. More...
#include "IPedAlgoMakerTool.h"
Public Member Functions | |
virtual | ~IPedAlgoMakerTool ()=default |
virtual std::unique_ptr< pmtana::PMTPedestalBase > | makeAlgo ()=0 |
Creates and returns a new instance of pedestal estimator algorithm. More... | |
Tool interface for creating a pedestal estimator algorithm.
The pedestal estimator algorithms in larana
implement a common abstraction and interface (pmtana::PMTPedestalBase
). In principle, wrappers may be written as art tools that implement that same interface and wrap the actual algorithms. In this case, users will actually use the tool classes as pedestal estimator algorithms. In alternative, art tools may be written to create the current pedestal estimator algorithms. In this case, users will use the tool only at setup stage to create the algorithms, and then the tools will have no further role.
This class provides the interface for a tool following this second design: a tool following this interface will be able to create pedestal estimator algorithm objects by executing makeAlgo()
, and that will be the only function of the tool.
Definition at line 40 of file IPedAlgoMakerTool.h.
|
virtualdefault |
|
pure virtual |
Creates and returns a new instance of pedestal estimator algorithm.
The returned object is completely independent of this tool: after calling this function, the tool can in principle be discarded.
Note that all the information necessary to the creation of the algorithm must have already been passed to the tool (and stored) in the FHiCL configuration on construction.
Implemented in opdet::PedAlgoMakerToolBase< PedAlgoClass >.