ATLAS Offline Software
Loading...
Searching...
No Matches
SCT_ClusterOnTrackCnv_p1.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5//-----------------------------------------------------------------------------
6//
7// file: SCT_ClusterOnTrackCnv_p1.cxx
8//
9//-----------------------------------------------------------------------------
10
13
14
17 InDet::SCT_ClusterOnTrack *transObj, MsgStream &log ) {
18
20 m_elCnv.persToTrans(&persObj->m_prdLink,&rio,log);
21
22 Amg::MatrixX localCovariance;
23 localCovariance.setZero();
24
25 *transObj = InDet::SCT_ClusterOnTrack (rio,
27 localCovariance,
28 0, // idDE
29 Identifier(),
30 false,
31 persObj->m_positionAlongStrip);
32 fillTransFromPStore( &m_scCnv, persObj->m_RIO, transObj, log );
33}
34
37 InDet::SCT_ClusterOnTrack_p1 *persObj, MsgStream &log )
38{
39
40 persObj->m_positionAlongStrip = (float) transObj->positionAlongStrip();
41 persObj->m_RIO = baseToPersistent( &m_scCnv, transObj, log );
42
43// New suggestion from RD - as calling m_elCnv.transToPers crashes
44 if (transObj->prepRawDataLink().isValid() ) {
45 persObj->m_prdLink.m_contName = transObj->prepRawDataLink().dataID();
46 persObj->m_prdLink.m_elementIndex = transObj->prepRawDataLink().index();
47 }else{
48 persObj->m_prdLink.m_contName = "";
49 persObj->m_prdLink.m_elementIndex = 0;
50// commented out because it spams the log files when reading AODs (tracks from electrons e.g. aso which are in AOD)
51// log<<MSG::WARNING<<"SCT_ClusterOnTrackCnv_p1::transToPers - ElementLink broken!"<<endmsg;
52// if (transObj->prepRawData()!=0)
53// log<<MSG::WARNING<<"Dumping PRD: "<<*(transObj->prepRawData())<<endmsg;
54// else
55// log<<MSG::WARNING<<"No PRD to dump (or indeed link to)!"<<endmsg;
56 }
57}
58
59
ElementLink< InDet::SCT_ClusterContainer > ElementLinkToIDCSCT_ClusterContainer
TPObjRef baseToPersistent(CNV **cnv, const typename CNV::Trans_t *transObj, MsgStream &log) const
Definition TPConverter.h:97
void fillTransFromPStore(CNV **cnv, const TPObjRef &ref, TRANS_T *trans, MsgStream &log) const
ElementLinkInt_p1 m_prdLink
Link to PRD.
Specific class to represent the SCT measurements.
const ElementLinkToIDCSCT_ClusterContainer & prepRawDataLink() const
SiClusterOnTrackCnv_p1 * m_scCnv
ElementLinkCnv_p1< ElementLinkToIDCSCT_ClusterContainer > m_elCnv
void persToTrans(const InDet::SCT_ClusterOnTrack_p1 *persObj, InDet::SCT_ClusterOnTrack *transObj, MsgStream &log)
void transToPers(const InDet::SCT_ClusterOnTrack *transObj, InDet::SCT_ClusterOnTrack_p1 *persObj, MsgStream &log)
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.