ATLAS Offline Software
Loading...
Searching...
No Matches
AlgFactory.h File Reference
#include "CxxUtils/checker_macros.h"
#include <string>
#include <vector>
#include <map>
#include <memory>
Include dependency graph for AlgFactory.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  TCS::AlgFactory

Namespaces

namespace  TCS

Macros

#define REGISTER_ALG_NS(NS, CLASS)
#define REGISTER_ALG_TCS(CLASS)

Macro Definition Documentation

◆ REGISTER_ALG_NS

#define REGISTER_ALG_NS ( NS,
CLASS )
Value:
namespace { \
std::unique_ptr<TCS::ConfigurableAlg> Create##NS__##CLASS(const std::string & methodName) { \
auto alg = std::make_unique<NS::CLASS>(methodName); \
alg->setClassName( std::string(#NS) + "__" + #CLASS ); \
alg->msg().setName( alg->fullname() ); \
return alg; \
} \
\
const bool success = TCS::AlgFactory::mutable_instance().Register( std::string(#NS) + "__" + #CLASS, Create##NS__##CLASS); \
}

Definition at line 48 of file AlgFactory.h.

48#define REGISTER_ALG_NS(NS,CLASS) \
49 namespace { \
50 std::unique_ptr<TCS::ConfigurableAlg> Create##NS__##CLASS(const std::string & methodName) { \
51 auto alg = std::make_unique<NS::CLASS>(methodName); \
52 alg->setClassName( std::string(#NS) + "__" + #CLASS ); \
53 alg->msg().setName( alg->fullname() ); \
54 return alg; \
55 } \
56 \
57 const bool success = TCS::AlgFactory::mutable_instance().Register( std::string(#NS) + "__" + #CLASS, Create##NS__##CLASS); \
58 }

◆ REGISTER_ALG_TCS

#define REGISTER_ALG_TCS ( CLASS)
Value:
namespace { \
std::unique_ptr<TCS::ConfigurableAlg> Create##CLASS(const std::string & methodName) { \
auto alg = std::make_unique<TCS::CLASS>(methodName); \
alg->setClassName( #CLASS ); \
alg->msg().setName( alg->fullname() ); \
return alg; \
} \
\
const bool success = TCS::AlgFactory::mutable_instance().Register( #CLASS, Create##CLASS); \
}

Definition at line 62 of file AlgFactory.h.

62#define REGISTER_ALG_TCS(CLASS) \
63 namespace { \
64 std::unique_ptr<TCS::ConfigurableAlg> Create##CLASS(const std::string & methodName) { \
65 auto alg = std::make_unique<TCS::CLASS>(methodName); \
66 alg->setClassName( #CLASS ); \
67 alg->msg().setName( alg->fullname() ); \
68 return alg; \
69 } \
70 \
71 const bool success = TCS::AlgFactory::mutable_instance().Register( #CLASS, Create##CLASS); \
72 }