ATLAS Offline Software
Loading...
Searching...
No Matches
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
TrackRecordCollection_p2 TrackRecordCollection_PERS
TPCnvStdVectorConst< TrackRecordCollection, TrackRecordCollection_p1, TrackRecordCnv_p1 > TrackRecordCollectionCnv_p1
T_AtlasHitsVectorCnv< TrackRecordCollection, TrackRecordCollection_p2, TrackRecordCnv_p1 > TrackRecordCollectionCnv_p2
AtlasHitsVector< TrackRecord > TrackRecordCollection
virtual PERS * createPersistent(const TRANS *transObj, MsgStream &log)
virtual TRANS * createTransient(const PERS *persObj, MsgStream &log)
TrackRecordCollection_PERS * createPersistent(TrackRecordCollection *transCont)
TrackRecordCollection * createTransient()