ATLAS Offline Software
Loading...
Searching...
No Matches
VxCandidateCnv_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: VxCandidate_p1.cxx
8//
9//-----------------------------------------------------------------------------
10
14#include <iostream>
15void VxCandidateCnv_p1::persToTrans(const Trk::VxCandidate_p1 * persObj, Trk::VxCandidate * transObj, MsgStream &log) {
16
19 std::vector<Trk::VxTrackAtVertex*> trackAtVertex;
20 m_vxTrkAtVrtCnv.persToTrans(&persObj->m_vxTrackAtVertex, &trackAtVertex, log);
21
22 *transObj = Trk::VxCandidate (std::move(vx),
23 std::move (trackAtVertex));
24 transObj->setVertexType (static_cast<Trk::VertexType>(persObj->m_vertexType));
25}
26
27void VxCandidateCnv_p1::transToPers(const Trk::VxCandidate * transObj, Trk::VxCandidate_p1 * persObj, MsgStream &log)
28{
29 persObj->m_recVertex = toPersistent( &m_recVertexConverter, &(transObj->recVertex()), log );
30
31 // get rid of the refitted perigees in case of primary and pileup vertex
32
33 const std::vector<Trk::VxTrackAtVertex*>& trackAtVertex = *transObj->vxTrackAtVertex();
34 if (transObj->vertexType() == Trk::PriVtx || transObj->vertexType() == Trk::PileUp)
35 {
36 for (Trk::VxTrackAtVertex* t : trackAtVertex) {
37 t->setPerigeeAtVertex (static_cast<Trk::TrackParameters*>(nullptr));
38 }
39 }
40 m_vxTrkAtVrtCnv.transToPers( &trackAtVertex, &persObj->m_vxTrackAtVertex, log);
41 persObj->m_vertexType = static_cast<int>(transObj->vertexType());
42}
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
Trk::RecVertex inherits from Trk::Vertex.
Definition RecVertex.h:44
std::vector< TPObjRef > m_vxTrackAtVertex
void setVertexType(VertexType vertexType)
return the type of the vertex
VertexType vertexType() const
return the type of the vertex
std::vector< Trk::VxTrackAtVertex * > * vxTrackAtVertex(void)
Unconst pointer to the vector of tracks Required by some of the vertex fitters.
const Trk::RecVertex & recVertex(void) const
Returns a reference to reconstructed vertex.
The VxTrackAtVertex is a common class for all present TrkVertexFitters The VxTrackAtVertex is designe...
VxTrkAtVrtVectorCnv_p1 m_vxTrkAtVrtCnv
RecVertexCnv_p1 * m_recVertexConverter
void persToTrans(const Trk::VxCandidate_p1 *persObj, Trk::VxCandidate *transObj, MsgStream &log)
Conversion methods.
void transToPers(const Trk::VxCandidate *transObj, Trk::VxCandidate_p1 *persObj, MsgStream &log)
VertexType
This file defines the enums in the Trk namespace for the different vertex types.
Definition VertexType.h:25
@ PileUp
Pile Up Vertex.
Definition VertexType.h:29
@ PriVtx
Primary Vertex.
Definition VertexType.h:27
ParametersBase< TrackParametersDim, Charged > TrackParameters