GPUClusterSorter Node1 GPUClusterSorter - m_cutClustersInAbsE - m_clusterETThreshold - m_kernelSizeOptimizer + GPUClusterSorter() + initialize() + initialize_non_CUDA() + initialize_CUDA() + execute() + finalize() + ~GPUClusterSorter() Node2 extends< AthAlgTool, CaloClusterGPUProcessor >     Node2->Node1 Node3 CaloGPUTimed # m_timeMutex # ATLAS_THREAD_SAFE # ATLAS_THREAD_SAFE # m_measureTimes # m_timeFileName # CaloGPUTimed() # record_times() # record_times() # record_times() # print_times() - record_times_helper() - record_times_helper() - record_times_helper() Node3->Node1 Node4 CaloGPUCUDAInitialization   + handle() + ~CaloGPUCUDAInitialization() # initialize_non_CUDA() # initialize_CUDA() # initialize() Node4->Node1 Node5 IIncidentListener     Node5->Node4