All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Public Attributes | List of all members
opdet::factory::AlgorithmFactory< Base >::AlgoMaker Struct Referenceabstract

#include <OpRecoFactoryStuff.h>

Inheritance diagram for opdet::factory::AlgorithmFactory< Base >::AlgoMaker:
opdet::factory::AlgorithmFactory< Base >::AlgoMakerFor< Algo >

Public Member Functions

 AlgoMaker (std::string name)
 
virtual ~AlgoMaker ()=default
 
virtual std::unique_ptr< Base > makeAlgo (fhicl::ParameterSet const &pset) const =0
 Algorithm class construction. More...
 
bool operator< (AlgoMaker const &other) const
 Comparison: sort by name in lexicographic order. More...
 

Public Attributes

std::string name
 The name associated to this algorithm. More...
 

Detailed Description

template<typename Base>
struct opdet::factory::AlgorithmFactory< Base >::AlgoMaker

Definition at line 433 of file OpRecoFactoryStuff.h.

Constructor & Destructor Documentation

template<typename Base >
opdet::factory::AlgorithmFactory< Base >::AlgoMaker::AlgoMaker ( std::string  name)
inline

Definition at line 437 of file OpRecoFactoryStuff.h.

437 : name{ std::move(name) } {}
std::string name
The name associated to this algorithm.
template<typename Base >
virtual opdet::factory::AlgorithmFactory< Base >::AlgoMaker::~AlgoMaker ( )
virtualdefault

Member Function Documentation

template<typename Base >
virtual std::unique_ptr<Base> opdet::factory::AlgorithmFactory< Base >::AlgoMaker::makeAlgo ( fhicl::ParameterSet const &  pset) const
pure virtual

Algorithm class construction.

Parameters
psetthe parameter set used to construct the algorithm object
Returns
a pointer to an object derived from Base, ready for use

The implementations will do whatever it takes to allocate and construct the Algo_t-derived object they cover, based on the content of pset, and return it.

Implemented in opdet::factory::AlgorithmFactory< Base >::AlgoMakerFor< Algo >.

template<typename Base >
bool opdet::factory::AlgorithmFactory< Base >::AlgoMaker::operator< ( AlgoMaker const &  other) const
inline

Comparison: sort by name in lexicographic order.

Definition at line 454 of file OpRecoFactoryStuff.h.

455  { return name < other.name; }
std::string name
The name associated to this algorithm.

Member Data Documentation

template<typename Base >
std::string opdet::factory::AlgorithmFactory< Base >::AlgoMaker::name

The name associated to this algorithm.

Definition at line 435 of file OpRecoFactoryStuff.h.


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