18   double ns = std::chrono::duration_cast<std::chrono::nanoseconds>(
duration).count();
 
   21   if (ns >= 24 * 60 * 60
e9) {
 
   22      auto days = std::floor(ns / (24 * 60 * 60
e9));
 
   24      ns -= 
days * 24 * 60 * 60
e9; 
 
   29   if (ns >= 60 * 60
e9) {
 
   30      auto hours = std::floor(ns / (60 * 60
e9));
 
   42      ss << (1
e-9 * ns) << 
" s";
 
   43   } 
else if (ns >= 1
e6) {
 
   44      ss << (1
e-6 * ns) << 
" ms";
 
   45   } 
else if (ns >= 1
e3) {
 
   46      ss << (1
e-3 * ns) << 
" μs";
 
   57   using std::chrono::steady_clock;
 
   58   steady_clock::time_point end = steady_clock::now();
 
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
TimingScope(std::function< void(std::string const &)> printer, std::string const &message)