ATLAS Offline Software
Loading...
Searching...
No Matches
TrackParticleContainerCnv_p2.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRACKPARTICLECONTAINER_CNV_P2_REC_H
6#define TRACKPARTICLECONTAINER_CNV_P2_REC_H
7
8
10
12
16
17
18class TrackParticleContainerCnv_p2 : public T_AthenaPoolTPCnvBase< Rec::TrackParticleContainer, Rec::TrackParticleContainer_p2 >
19{
20public:
22
23 // these implementations have to stay
24 virtual void transToPers(const Rec::TrackParticleContainer* transVect, Rec::TrackParticleContainer_p2* persVect, MsgStream &log) {
25 persVect->clear();
26 persVect->reserve( transVect->size() );
27 // convert vector entries one by one
28 for( Rec::TrackParticleContainer::const_iterator it = transVect->begin();it != transVect->end(); ++it ) {
29 persVect->push_back( toPersistent( (ITPConverterFor<Rec::TrackParticle>**)0, *it, log ) );
30 }
31 }
32
33
34 virtual void persToTrans(const Rec::TrackParticleContainer_p2* persVect, Rec::TrackParticleContainer* transVect, MsgStream &log)
35 {
36 transVect->clear();
37 transVect->reserve( persVect->size() );
38 // convert vector entries one by one
39 for( Rec::TrackParticleContainer_p2::const_iterator it = persVect->begin();it != persVect->end(); ++it )
40 {
41 transVect->push_back( dynamic_cast<Rec::TrackParticle*>( createTransFromPStore( (ITPConverterFor<Rec::TrackParticle>**)0, *it, log ) ) );
42 }
43 }
44
45};
46
47#endif
48
TPConverterBase< TRANS, PERS > T_AthenaPoolTPCnvBase
DataModel_detail::const_iterator< DataVector > const_iterator
Definition DataVector.h:838
void reserve(size_type n)
Attempt to preallocate enough memory for a specified number of elements.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
size_type size() const noexcept
Returns the number of elements in the collection.
void clear()
Erase all the elements in the collection.
Common base class for all TP converters, specialized for a given transient type.
Definition TPConverter.h:37
CNV::Trans_t * createTransFromPStore(CNV **cnv, const TPObjRef &ref, MsgStream &log) const
TPObjRef toPersistent(CNV **cnv, const typename CNV::TransBase_t *transObj, MsgStream &log) const
virtual void persToTrans(const Rec::TrackParticleContainer_p2 *persVect, Rec::TrackParticleContainer *transVect, MsgStream &log)
virtual void transToPers(const Rec::TrackParticleContainer *transVect, Rec::TrackParticleContainer_p2 *persVect, MsgStream &log)