Ringer::RingerCommonSelector Node1 Ringer::RingerCommonSelector - m_thresWrapper - m_useTrackPat - m_useRawTrackPat - m_useCaloCommittee - m_discrWrapperColSize - m_nonSegmentedDiscr + RingerCommonSelector() + clear() + execute() + getOutputSpace() * m_thresWrapper * m_useTrackPat * m_useRawTrackPat * m_useCaloCommittee * m_discrWrapperColSize * m_nonSegmentedDiscr Node2 RedirectMsgStream Node2->Node1 Node3 Ringer::IRingerProcedure Wrapper< Discrimination ::IDiscriminator > + wrapName + name() + hasPP() + execute() + setRawConfCol() + getRawConfCol() + getSegType() + getExtraDescriptionPatterns() + execute() + writeCol() + read() # IRingerProcedureWrapper() * execute() * setRawConfCol() * getRawConfCol() * getSegType() * getExtraDescriptionPatterns() * execute() Node3->Node1 -m_lastDiscrLayer -m_fstDiscrLayer Node4 IRedirectMsgStream Node4->Node3 Node5 Ringer::IRingerProcedure WrapperBase + empty() + write() + name() + etaDep() + etDep() + releaseMemory() + fullName() + print() + ~IRingerProcedureWrapperBase() Node5->Node3 Node6 std::vector< float > + elements Node6->Node1 -m_trackDiscr_output -m_input -m_output Node7 std::vector< bool > + elements Node7->Node1 -m_decVec Node8 std::vector< T > Node8->Node1 -m_discrWrapperCol Node9 T Node9->Node8 +elements