ATLAS Offline Software
Loading...
Searching...
No Matches
RecVertexCnv_p2.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
7
11
13
14void RecVertexCnv_p2::persToTrans(const Trk::RecVertex_p2 * persObj, Trk::RecVertex * transObj, MsgStream &log) {
15
16 // fillTransFromPStore( &m_vertexConverter, persObj->vtx, transObj, log);
17 Amg::Vector3D trans_position(persObj->m_position[0], persObj->m_position[1], persObj->m_position[2]);
18
19 // fillTransFromPStore( &m_errorMatrixConverter, persObj->m_positionError, &transObj->m_positionCovariance, log );
20
21 Trk::ErrorMatrix dummy;
23 AmgSymMatrix(3) cov;
24 if (!dummy.values.empty()){
25 if (dummy.values.empty()) dummy.values.resize(6);
26 EigenHelpers::vectorToEigenMatrix(dummy.values, cov, "RecVertexCnv_p2");
27 } else {
28 // Seems we didn't write out an error matrix - set it to an identity
29 cov.setIdentity();
30 }
31
32
33 *transObj = Trk::RecVertex (trans_position, cov,
35 persObj->m_fitQuality.m_chiSquared);
36}
37
38void RecVertexCnv_p2::transToPers(const Trk::RecVertex * transObj, Trk::RecVertex_p2 * persObj, MsgStream &log) {
39
40 // persObj->vtx = baseToPersistent(&m_vertexConverter, transObj, log );
41 const Amg::Vector3D& trans_position = transObj->position();
42 persObj->m_position[0] = trans_position(0);
43 persObj->m_position[1] = trans_position(1);
44 persObj->m_position[2] = trans_position(2);
45
46 // persObj->m_positionError = toPersistent( &m_errorMatrixConverter, &(transObj->m_positionCovariance), log );
48 EigenHelpers::eigenMatrixToVector(pMat.values, transObj->covariancePosition(), "RecVertexCnv_p2");
49 persObj->m_positionError = toPersistent( &m_errorMatrixConverter, &pMat, log );
50
51 // persObj->m_fitQuality = toPersistent( &m_fitQualityConverter, &(transObj->m_fitQuality), log );
52 fitQualityCnv.transToPers(&transObj->fitQuality(), &persObj->m_fitQuality, log);
53
54 // std::cout<<"ILIJA written RecVertex_p2 "<<(*transObj)<<std::endl;
55}
#define AmgSymMatrix(dim)
static const FitQualityCnv_p1 fitQualityCnv
void fillTransFromPStore(CNV **cnv, const TPObjRef &ref, TRANS_T *trans, MsgStream &log) const
TPObjRef toPersistent(CNV **cnv, const typename CNV::TransBase_t *transObj, MsgStream &log) const
void persToTrans(const Trk::RecVertex_p2 *persObj, Trk::RecVertex *transObj, MsgStream &log)
void transToPers(const Trk::RecVertex *transObj, Trk::RecVertex_p2 *persObj, MsgStream &log)
ITPConverterFor< Trk::ErrorMatrix > * m_errorMatrixConverter
std::vector< float > values
FitQuality_p1 m_fitQuality
TPObjRef m_positionError
Trk::RecVertex inherits from Trk::Vertex.
Definition RecVertex.h:44
const Trk::FitQuality & fitQuality() const
Fit quality access method.
Definition RecVertex.cxx:64
const Amg::Vector3D & position() const
return position of vertex
Definition Vertex.cxx:63
Eigen::Matrix< double, 3, 1 > Vector3D
static void eigenMatrixToVector(VECTOR &vec, COVARIANCE &cov, const char *)