LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
Tool interface for creating a hit finder algorithm. More...
#include "IHitAlgoMakerTool.h"
Public Member Functions | |
virtual | ~IHitAlgoMakerTool ()=default |
virtual std::unique_ptr< pmtana::PMTPulseRecoBase > | makeAlgo ()=0 |
Creates and returns a new instance of hit finder algorithm. More... | |
Tool interface for creating a hit finder algorithm.
The hit finder algorithms in larana
implement a common abstraction and interface (pmtana::PMTPulseRecoBase
). 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 hit finder algorithms. In alternative, art tools may be written to create the current hit finder algorithms. In this case, users will use the tool only at setup stage to create the hit finder 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 hit finder algorithm objects by executing makeAlgo()
, and that will be the only function of the tool.
Definition at line 41 of file IHitAlgoMakerTool.h.
|
virtualdefault |
|
pure virtual |
Creates and returns a new instance of hit finder 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::HitAlgoMakerToolBase< HitAlgoClass >.