ATLAS Offline Software
TrackRecordCollectionCnv.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
8 
10  MsgStream mlog(msgSvc(), "TrackRecordCollectionConverter" );
12  TrackRecordCollection_PERS *persObj = converter.createPersistent( transCont, mlog );
13  return persObj;
14 }
15 
16 
18 
19  MsgStream mlog(msgSvc(), "TrackRecordCollectionConverter" );
21  TrackRecordCollectionCnv_p2 converter_p2;
22  TrackRecordCollection *trans_cont(0);
23 
24  // GUIDs are here:
25  static const pool::Guid p1_guid("1B1EEE3B-4647-41B4-B1D4-495DF77F0D3C");
26  static const pool::Guid p2_guid("22D044AD-A13A-42BF-B2A4-BDAF5BE2D819");
27 
28  if( this->compareClassGuid(p1_guid)) {
29  std::unique_ptr< TrackRecordCollection_p1 > col_vect( this->poolReadObject< TrackRecordCollection_p1 >() );
30  trans_cont = converter.createTransient( col_vect.get(), mlog );
31  }
32  // New _p2 version faster and smaller
33  else if( this->compareClassGuid(p2_guid)) {
34  std::unique_ptr< TrackRecordCollection_p2 > col_vect( this->poolReadObject< TrackRecordCollection_p2 >() );
35  trans_cont = converter_p2.createTransient( col_vect.get(), mlog );
36  }
37  else
38  {
39  throw std::runtime_error("Unsupported persistent version of Data container");
40  }
41  return trans_cont;
42 }
43 
44 
TPPolyCnvBase::createTransient
virtual TRANS * createTransient(const PERS *persObj, MsgStream &log)
Create transient representation of a persistent object.
AtlasHitsVector
Definition: AtlasHitsVector.h:32
TrackRecordCollectionCnv.h
TrackRecordCollectionCnv_p1.h
TPAbstractPolyCnvBase::createPersistent
virtual PERS * createPersistent(const TRANS *transObj, MsgStream &log)
Create persistent representation of a transient object.
pool::Guid
::Guid Guid
Definition: T_AthenaPoolCustCnv.h:19
TrackRecordCollectionCnv::createTransient
TrackRecordCollection * createTransient()
Definition: TrackRecordCollectionCnv.cxx:17
python.InDetPriVxFinderConfig.mlog
mlog
Definition: InDetPriVxFinderConfig.py:149
StdJOSetup.msgSvc
msgSvc
Provide convenience handles for various services.
Definition: StdJOSetup.py:36
TrackRecordCollectionCnv::createPersistent
TrackRecordCollection_PERS * createPersistent(TrackRecordCollection *transCont)
Definition: TrackRecordCollectionCnv.cxx:9
TrackRecordCollection_p2
Definition: TrackRecordCollection_p2.h:21
TrackRecordCollectionCnv_p2.h
T_AtlasHitsVectorCnv
Definition: TPConverter.h:1234
TPCnvStdVectorConst
Const version of TPCnvStdVector.
Definition: TPConverter.h:1308
T_AthenaPoolCustCnv< TrackRecordCollection, TrackRecordCollection_PERS >::compareClassGuid
virtual bool compareClassGuid(const Guid &clid) const
Compare POOL class GUID with the one of the object being read.