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

Tool interface for creating a pedestal estimator algorithm. More...

#include "IPedAlgoMakerTool.h"

Inheritance diagram for opdet::IPedAlgoMakerTool:
opdet::PedAlgoMakerToolBase< PedAlgoClass >

Public Member Functions

virtual ~IPedAlgoMakerTool ()=default
 
virtual std::unique_ptr< pmtana::PMTPedestalBasemakeAlgo ()=0
 Creates and returns a new instance of pedestal estimator algorithm. More...
 

Detailed Description

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.

Constructor & Destructor Documentation

virtual opdet::IPedAlgoMakerTool::~IPedAlgoMakerTool ( )
virtualdefault

Member Function Documentation

virtual std::unique_ptr<pmtana::PMTPedestalBase> opdet::IPedAlgoMakerTool::makeAlgo ( )
pure virtual

Creates and returns a new instance of pedestal estimator 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::PedAlgoMakerToolBase< PedAlgoClass >.


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