LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
opdet::IHitAlgoMakerTool Struct Referenceabstract

Tool interface for creating a hit finder algorithm. More...

#include "IHitAlgoMakerTool.h"

Inheritance diagram for opdet::IHitAlgoMakerTool:
opdet::HitAlgoMakerToolBase< HitAlgoClass >

Public Member Functions

virtual ~IHitAlgoMakerTool ()=default
 
virtual std::unique_ptr< pmtana::PMTPulseRecoBasemakeAlgo ()=0
 Creates and returns a new instance of hit finder algorithm. More...
 

Detailed Description

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.

Constructor & Destructor Documentation

virtual opdet::IHitAlgoMakerTool::~IHitAlgoMakerTool ( )
virtualdefault

Member Function Documentation

virtual std::unique_ptr<pmtana::PMTPulseRecoBase> opdet::IHitAlgoMakerTool::makeAlgo ( )
pure virtual

Creates and returns a new instance of hit finder algorithm.

Returns
the newly created algorithm instance

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 >.


The documentation for this struct was generated from the following file: