CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
DDAlgorithmHandler Class Reference

wrapper around a DDAlgorithm More...

#include <DDAlgorithmHandler.h>

Public Member Functions

 DDAlgorithmHandler ()
 creates an DDAlgorithm wrapper More...
 
void execute (DDCompactView &)
 executes the wrapped algorithm algo_; some pre- and post-processing (exception handling) More...
 
void initialize (const DDName &algoName, const DDLogicalPart &parent, const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &svArgs)
 initializes the wrapped algorithm algo_ and does some pre- and post-processing More...
 

Private Attributes

std::unique_ptr< DDAlgorithm > algo_
 the wrapped algorithm object More...
 

Detailed Description

wrapper around a DDAlgorithm

used from DDParser for setting up, initializing, and executing an DDAlgorithm

Definition at line 15 of file DDAlgorithmHandler.h.

Constructor & Destructor Documentation

◆ DDAlgorithmHandler()

DDAlgorithmHandler::DDAlgorithmHandler ( )
inline

creates an DDAlgorithm wrapper

Definition at line 18 of file DDAlgorithmHandler.h.

18 {}

Member Function Documentation

◆ execute()

void DDAlgorithmHandler::execute ( DDCompactView cpv)

executes the wrapped algorithm algo_; some pre- and post-processing (exception handling)

Definition at line 20 of file DDAlgorithmHandler.cc.

References algo_.

Referenced by DDLAlgorithm::processElement().

20 { algo_->execute(cpv); }
std::unique_ptr< DDAlgorithm > algo_
the wrapped algorithm object

◆ initialize()

void DDAlgorithmHandler::initialize ( const DDName algoName,
const DDLogicalPart parent,
const DDNumericArguments nArgs,
const DDVectorArguments vArgs,
const DDMapArguments mArgs,
const DDStringArguments sArgs,
const DDStringVectorArguments svArgs 
)

initializes the wrapped algorithm algo_ and does some pre- and post-processing

pre- and postprocessing mainly covers exception handling, the algorithm object algo_ is fetched from the plugin-manager

Definition at line 8 of file DDAlgorithmHandler.cc.

References algo_, MillePedeAlignmentAlgorithm_cfi::algoName, get, and class-composition::parent.

Referenced by DDLAlgorithm::processElement().

14  {
15  algo_ = DDAlgorithmFactory::get()->create(algoName.fullname());
16  algo_->setParent(parent);
17  algo_->initialize(nArgs, vArgs, mArgs, sArgs, svArgs);
18 }
std::unique_ptr< DDAlgorithm > algo_
the wrapped algorithm object
#define get

Member Data Documentation

◆ algo_

std::unique_ptr<DDAlgorithm> DDAlgorithmHandler::algo_
private

the wrapped algorithm object

Definition at line 35 of file DDAlgorithmHandler.h.

Referenced by execute(), and initialize().