19 using ROOT::Reflex::PluginService;
61 if ((actualalgtype.size() > 8) && (actualalgtype.substr(0, 8) ==
"unalias:")) {
62 actualalgtype = actualalgtype.substr(8);
66 actualalgtype = typeAlias->second;
69 algorithm = PluginService::Create<IAlgorithm*>(actualalgtype, algname,
serviceLocator().
get());
71 algorithm = PluginService::CreateWithId<IAlgorithm*>(actualalgtype, algname,
serviceLocator().
get());
76 fatal() <<
"Incompatible interface IAlgorithm version for " << actualalgtype <<
endmsg;
93 this->
error() <<
"Failed to initialize algorithm: [" << algname <<
"]" <<
endmsg;
98 this->
error() <<
"Algorithm of type " << actualalgtype
99 <<
" is unknown (No factory available)." <<
endmsg;
107 this->
error() <<
"More information may be available by setting the global jobOpt \"ReflexPluginDebugLevel\" to 1" <<
endmsg;
115 return it->algorithm;
119 if (
createAlgorithm(typeName.type(), typeName.name(), alg,
true).isSuccess()) {
146 if (!it->managed)
continue;
147 rc = it->algorithm->sysInitialize();
157 if (!it->managed)
continue;
158 rc = it->algorithm->sysStart();
168 if (!it->managed)
continue;
169 rc = it->algorithm->sysStop();
180 rc = it->algorithm->sysFinalize();
194 if (!it->managed)
continue;
195 rc = it->algorithm->sysReinitialize();
197 this->
error() <<
"Unable to re-initialize algorithm: " << it->algorithm->name() <<
endmsg;
208 if (!it->managed)
continue;
209 rc = it->algorithm->sysRestart();
211 this->
error() <<
"Unable to re-initialize algorithm: " << it->algorithm->name() <<
endmsg;