ZDCTriggerSimCombLUT Node1 ZDCTriggerSimCombLUT + ZDCTriggerSimCombLUT() + simLevel1Trig() + ZDCTriggerSimCombLUT() + simLevel1Trig() # doSimStage() # doSimStage() Node2 ZDCTriggerSimBase + ZDCTriggerSimBase() + ~ZDCTriggerSimBase() + simLevel1Trig() + dump() + ZDCTriggerSimBase() + ~ZDCTriggerSimBase() + simLevel1Trig() + dump() # stackClear() # stackPush() # stackTopData() # doSimStage() # stackClear() # stackPush() # stackTopData() # doSimStage() Node2->Node1 Node3 std::list< ZDCTriggerSim ::SimDataCPtr > Node3->Node2 -m_stack Node4 std::shared_ptr< T > + operator->() Node4->Node3 +elements Node5 T Node5->Node4 +ptr Node6 std::array< unsigned int, 256 > + elements Node6->Node1 -m_combLUT