XManagerRegister.h
Go to the documentation of this file.
1 #ifndef _det_XManagerRegister_h_
2 #define _det_XManagerRegister_h_
3 
4 #include <boost/utility.hpp>
5 
6 #include <det/ManagerRegister.h>
7 #include <det/ManagerBuilderRegisterEntry.h>
8 #include <det/ManagerBuilder.h>
9 #include <utl/Singleton.h>
10 #include <utl/ErrorLogger.h>
11 
26 #define REGISTER_X_MANAGER(_name_, _Type_, _RegisterClassName_) \
27 namespace { \
28  static const det::ManagerBuilderRegisterEntry e(_name_, \
29  det::ManagerBuilder<_Type_> ::GetInstance(),\
30  _RegisterClassName_::GetInstance()); \
31 }
32 
33 namespace det {
49  template<typename DetectorInfo>
51  public utl::Singleton<XManagerRegister<DetectorInfo> > {
52  XManagerRegister() : ManagerRegister(DetectorInfo::kRegisterName) {
53  DEBUGLOG(DetectorInfo::kRegisterName);
54  }
55  virtual ~XManagerRegister() { }
56  friend class utl::Singleton<XManagerRegister<DetectorInfo> >;
57  };
58 
59 }
60 #endif // _det_XManagerRegister_h_
#define DEBUGLOG(message)
Macro for logging debugging messages.
Definition: ErrorLogger.h:157
Singleton Template MangerRegister for arbitrary detector type (X stands for an unknown detector type...
Register for detector description managers.
Curiously Recurring Template Pattern (CRTP) for Meyers singleton.
Definition: Singleton.h:36

, generated on Tue Sep 26 2023.