00001 #include <vector> 00002 #include "AthLinks/ElementLink.h" 00003 00004 #include "xAODBase/IParticleContainer.h" 00005 00006 #include "xAODPFlow/PFOContainer.h" 00007 00008 namespace xAOD{ 00009 00010 static void convertLinks(std::vector<ElementLink<PFOContainer> >& pfoContainer, std::vector<ElementLink<IParticleContainer> >& particleContainer){ 00011 00012 std::vector<ElementLink<PFOContainer>>::iterator firstPFO = pfoContainer.begin(); 00013 std::vector<ElementLink<PFOContainer>>::iterator lastPFO = pfoContainer.end(); 00014 00015 for (; firstPFO != lastPFO; ++firstPFO){ 00016 ElementLink<PFOContainer> thePFOLink = *firstPFO; 00017 thePFOLink.toPersistent(); 00018 ElementLink< xAOD::IParticleContainer > myLink; 00019 myLink.resetWithKeyAndIndex( thePFOLink.persKey(), thePFOLink.persIndex() ); 00020 particleContainer.push_back(myLink); 00021 } 00022 00023 } 00024 00025 }