VManagerBuilder.h
Go to the documentation of this file.
1 #ifndef _det_VManagerBuilder_h_
2 #define _det_VManagerBuilder_h_
3 
14 #include <det/VManager.h>
15 
16 namespace det {
17 
18  class ManagerRegister;
19 
20  // derived-class templated virtual factory for Managers
21 
23 
25 
26  public:
27  VManager&
29  {
30  if (!fManager)
32  return *fManager;
33  }
34 
35  protected:
37  virtual ~VManagerBuilder() { delete fManager; }
38 
39  // force derived classes to implement factory
40  virtual VManager* CreateManager() const = 0;
41 
42  private:
44 
45  friend class det::ManagerRegister;
46 
47  };
48 
49 }
50 
51 
52 #endif
53 
54 // Configure (x)emacs for this file ...
55 // Local Variables:
56 // mode:c++
57 // compile-command: "make -C .. -k"
58 // End:
VManager & GetManager()
Interface for detector managers.
Definition: VManager.h:115
virtual VManager * CreateManager() const =0
Register for detector description managers.

, generated on Tue Sep 26 2023.