CounterThread Node1 CounterThread + m_lowTimestamp + m_highTimestamp + m_globalLowTimestamp + m_globalHighTimestamp + CounterThread() + CounterThread() + ~CounterThread() + operator=() + CounterThread() + newEvent() + postProcess() + getLowTimestamp() + getHighTimestamp() + setAllThreadsTimestamps() Node2 CounterBase - m_name - m_parent - m_variables + CounterBase() + CounterBase() + ~CounterBase() + operator=() + CounterBase() + getName() + getParent() + variableExists() + getVariable() + fill() + fill() + increment() + setDenominator() + endEvent() + newEvent() # regHistogram() # regTProfile() # regHistogram() # bookGetPointer() # timeToMilliSec() Node2->Node1