2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
5 /** @file VectorElementLinkCnv_p1.icc
6 * @brief This file contains the implementation for the VectorElementLinkCnv_p1 template methods.
7 * @author Marcin.Nowak@cern.ch
11 #include "AthenaKernel/getThinningCache.h"
14 template <typename LINK_VECT>
15 void VectorElementLinkCnv_p1<LINK_VECT>::transToPers(const LinkVect_t& trans,
17 const SG::ThinningCache* cache,
20 size_t link_n = trans.size();
21 pers.resize( link_n );
23 typename LinkVect_t::const_iterator ti = trans.begin();
24 typename PersLinkVect_t::iterator pi = pers.begin();
26 m_elLinkCnv.transToPers( *ti++, *pi++, cache, msg );
32 template <typename LINK_VECT>
33 void VectorElementLinkCnv_p1<LINK_VECT>::transToPers(const LinkVect_t& trans,
37 transToPers (trans, pers,
38 SG::getThinningCache(),
43 template <typename LINK_VECT >
45 VectorElementLinkCnv_p1< LINK_VECT >::persToTrans(const PersLinkVect_t& pers,
49 size_t link_n = pers.size();
50 trans.resize( link_n );
51 typename PersLinkVect_t::const_iterator pi = pers.begin();
52 typename LinkVect_t::iterator ti = trans.begin();
54 m_elLinkCnv.persToTrans( *pi++, *ti++, msg );
59 template <typename LINK_VECT>
62 VectorElementLinkCnv_p1<LINK_VECT>
63 ::transToPers(const LinkVect_t* trans, PersLinkVect_t* pers, MsgStream& msg) const
65 this->transToPers(*trans, *pers, msg);
69 template <typename LINK_VECT >
72 VectorElementLinkCnv_p1< LINK_VECT >
73 ::persToTrans(const PersLinkVect_t* pers, LinkVect_t* trans, MsgStream& msg) const
75 this->persToTrans(*pers, *trans, msg);