MuonCalib::RegionLogicalOperation Node1 MuonCalib::RegionLogical Operation + RegionLogicalOperation() + ~RegionLogicalOperation() + AddRegion() + AddOperator() + SurplusOperator() + Result() + Print() Node2 MuonCalib::RegionSelectorBase + RegionSelectorBase() + ~RegionSelectorBase() + Result() + Print() + GetRegion() - process_region() - print_position() Node2->Node1 Node5 std::unique_ptr< MuonCalib ::RegionSelectorBase > + operator->() Node2->Node5 +ptr Node3 std::vector< bool > + elements Node3->Node1 -m_inverse -m_operator Node4 std::vector< std::unique _ptr< MuonCalib::RegionSelector Base > > Node4->Node1 -m_regions Node5->Node4 +elements