7 #ifndef ASGTOOLS_ASGCOMPONENT_H
8 #define ASGTOOLS_ASGCOMPONENT_H
10 #if !defined(XAOD_STANDALONE) && !defined(__CPPCHECK__)
11 #error "This header should only be used in XAOD_STANDALONE"
38 class AsgComponent :
public virtual INamedInterface,
45 AsgComponent (
const AsgComponent&) =
delete;
46 AsgComponent& operator = (
const AsgComponent&) =
delete;
50 AsgComponent (
const std::string& val_name);
55 ~AsgComponent() noexcept;
63 void addCleanup (
const std::shared_ptr<
void>& cleanup);
98 PropertyMgr *getPropertyMgr () noexcept;
99 const PropertyMgr* getPropertyMgr()
const noexcept;
121 friend class AsgTool;
132 PropertyMgr *m_properties {
nullptr};
137 std::vector<std::shared_ptr<void> > m_cleanup;