1 #ifndef GAUDIKERNEL_ALGORITHM_H
2 #define GAUDIKERNEL_ALGORITHM_H
32 #ifndef PACKAGE_VERSION
33 #define PACKAGE_VERSION "unknown"
63 typedef Gaudi::PluginService::Factory2<
IAlgorithm*,
169 virtual bool isExecuted( )
const;
172 virtual void setExecuted(
bool state );
177 virtual void resetExecuted( );
194 virtual bool isEnabled( )
const;
197 virtual bool filterPassed( )
const;
200 virtual void setFilterPassed(
bool state );
205 (
const std::string& name, T*& psvc,
bool createIf =
true )
const {
206 return service_i(name, createIf, T::interfaceID(), (
void**)&psvc);
213 return service_i(svcType, svcName, T::interfaceID(), (
void**)&psvc);
220 void setOutputLevel(
int level );
399 return m_propertyMgr->declareProperty(name, property, doc);
408 return m_propertyMgr -> declareRemoteProperty ( name , rsvc , rname );
423 if ( !m_pMonitorSvc.isValid() ){
424 m_pMonitorSvc = service(m_monitorSvcName,
false,
true);
426 return m_pMonitorSvc;
457 if ( mS ) mS->
declareInfo(name, format, var, size, desc,
this);
504 template <
class TYPE>
525 void initOutputLevel(
Property& prop);
590 #ifndef GAUDI_NEW_PLUGIN_SERVICE
594 template <
typename S>
595 static typename S::ReturnType
create(
typename S::Arg1Type a1,
596 typename S::Arg2Type a2) {
597 return new T(a1, a2);
602 #define DECLARE_ALGORITHM_FACTORY(x) \
603 DECLARE_FACTORY_WITH_CREATOR(x, AlgFactory< x >, Algorithm::Factory)
604 #define DECLARE_NAMED_ALGORITHM_FACTORY(x, n) \
605 DECLARE_FACTORY_WITH_CREATOR_AND_ID(x, AlgFactory< x >, \
606 #n, Algorithm::Factory)
607 #define DECLARE_NAMESPACE_ALGORITHM_FACTORY(n, x) \
608 DECLARE_ALGORITHM_FACTORY(n::x)
613 #define DECLARE_ALGORITHM_FACTORY(x) DECLARE_COMPONENT(x)
614 #define DECLARE_NAMED_ALGORITHM_FACTORY(x, n) DECLARE_COMPONENT_WITH_ID(x, #n)
615 #define DECLARE_NAMESPACE_ALGORITHM_FACTORY(n, x) DECLARE_COMPONENT(n::x)
619 #endif //GAUDIKERNEL_ALGORITHM_H