PFMatch::IPositionProvider Node1 PFMatch::IPositionProvider + ~IPositionProvider() # IPositionProvider() Node2 PFMatch::PositionProvider < ObjectType, PositionType > + ~PositionProvider() + getPosition() # PositionProvider() Node1->Node2 Node3 PFMatch::PositionProvider < ICluster, ClusterPositionType > + ~PositionProvider() + getPosition() # PositionProvider() Node1->Node3 Node5 PFMatch::PositionProvider < ICluster, EtaPhi > + ~PositionProvider() + getPosition() # PositionProvider() Node1->Node5 Node8 PFMatch::PositionProvider < ICluster, EtaPhiWithVariance > + ~PositionProvider() + getPosition() # PositionProvider() Node1->Node8 Node11 PFMatch::PositionProvider < ICluster, PositionType > + ~PositionProvider() + getPosition() # PositionProvider() Node1->Node11 Node13 PFMatch::PositionProvider < ITrack, EtaPhi > + ~PositionProvider() + getPosition() # PositionProvider() Node1->Node13 Node16 PFMatch::PositionProvider < ITrack, PositionType > + ~PositionProvider() + getPosition() # PositionProvider() Node1->Node16 Node18 PFMatch::PositionProvider < ITrack, TrackPositionType > + ~PositionProvider() + getPosition() # PositionProvider() Node1->Node18