7 #ifndef CALORECGPU_CALOGPUTIMED_H 
    8 #define CALORECGPU_CALOGPUTIMED_H 
   11 #include <shared_mutex> 
   16 #include <GaudiKernel/IProperty.h> 
   57     m_timeFileName(
ptr, 
"TimeFileOutput", 
"times.txt", 
"File to which time measurements should be saved")
 
   73     m_times[
index] = std::forward<Arg>(
arg);
 
   78   template <
class ... 
Args>
 
   91       old_size = m_times.size();
 
   92       m_times.resize(old_size + 
times.size());
 
   93       m_eventNumbers.push_back(event_num);
 
   97       for (
size_t i = 0; 
i < 
times.size(); ++
i)
 
   99           m_times[old_size + 
i] = 
times[
i];
 
  104   template <
class ... 
Args>
 
  107     const size_t time_size = 1;
 
  113       old_size = m_times.size();
 
  114       m_times.resize(old_size + time_size);
 
  115       m_eventNumbers.push_back(event_num);
 
  123   template <
class ... 
Args>
 
  126     const size_t time_size = 
sizeof...(args) + 1;
 
  132       old_size = m_times.size();
 
  133       m_times.resize(old_size + time_size);
 
  134       m_eventNumbers.push_back(event_num);
 
  152     std::vector<size_t> 
indices(m_eventNumbers.size());
 
  157       return m_eventNumbers[a] < m_eventNumbers[b];
 
  162     out << 
"Event_Number Total " << 
header << 
"\n";
 
  166         out << m_eventNumbers[
idx] << 
" ";
 
  170         for (
size_t i = 0; 
i < time_size; ++
i)
 
  172             total += m_times[
idx * time_size + 
i];
 
  177         for (
size_t i = 0; 
i < time_size; ++
i)
 
  179             out << m_times[
idx * time_size + 
i] << 
" ";
 
  191 #endif //CALORECGPU_CALOGPUTIMED_H