DisjointUniformSampler Node1 DisjointUniformSampler - m_ranges - m_totalwidth - m_divisions + ~DisjointUniformSampler() + DisjointUniformSampler() + DisjointUniformSampler() + _getRanges() + _setRanges() + _map_unit_to_val() + shoot() Node2 UniformSampler + m_low + m_high + UniformSampler() + UniformSampler() + ~UniformSampler() + shoot() Node2->Node1 Node3 Sampler + m_val + m_random + Sampler() + ~Sampler() + shoot() Node3->Node2