EL::AlgorithmTimerWrapper Node1 EL::AlgorithmTimerWrapper - m_time_global - m_time_file - m_time_event + testInvariant() + AlgorithmTimerWrapper() + AlgorithmTimerWrapper() + getName() + hasName() + makeClone() + getLegacyAlg() + initialize() + execute() + postExecute() + finalize() + fileExecute() + beginInputFile() + endInputFile() Node2 EL::IAlgorithmWrapper + ~IAlgorithmWrapper() + getName() + hasName() + makeClone() + getLegacyAlg() + initialize() + execute() + postExecute() + finalize() + fileExecute() + beginInputFile() + endInputFile() Node2->Node1 Node3 std::unique_ptr< EL ::IAlgorithmWrapper > + operator->() Node2->Node3 +ptr Node3->Node1 -m_algorithm