ATLAS Offline Software
Loading...
Searching...
No Matches
CompetingMuonClustersOnTrackCnv_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
5//-----------------------------------------------------------------------------
6//
7// file: MuonCompetingRIOsOnTrackCnv_p1.cxx
8//
9//-----------------------------------------------------------------------------
10
16
17void
20 MsgStream &log )
21{
22 auto containedChildRots = std::make_unique<std::vector< const Muon::MuonClusterOnTrack * > >();
23
24 for (const TPObjRef& ref : persObj->m_containedChildRots) {
26 const Muon::MuonClusterOnTrack* mcot = dynamic_cast<const Muon::MuonClusterOnTrack*>(createTransFromPStore(&rotCnv, ref, log));
27 containedChildRots->push_back( mcot );
28 }
29
30 Trk::Surface* associatedSurface = this->createTransFromPStore( &m_surfCnv, persObj->m_associatedSurface, log );
31
34 associatedSurface,
35 std::move(*containedChildRots),
36 {} // assgnProb
37 );
38
39 fillTransFromPStore( &m_cRotCnv, persObj->m_competingROT, transObj, log );
40}
41
42void
45 MsgStream &log )
46{
47 persObj->m_competingROT = baseToPersistent( &m_cRotCnv, transObj, log );
48
49 for (const Muon::MuonClusterOnTrack* p : transObj->containedROTs()) {
51 persObj->m_containedChildRots.push_back( toPersistent(&rotCnv, p, log) );
52 }
53
55}
56
57
const boost::regex ref(r_ef)
virtual void persToTrans(const Muon::CompetingMuonClustersOnTrack_p1 *persObj, Muon::CompetingMuonClustersOnTrack *transObj, MsgStream &log)
virtual void transToPers(const Muon::CompetingMuonClustersOnTrack *transObj, Muon::CompetingMuonClustersOnTrack_p1 *persObj, MsgStream &log)
TPObjRef baseToPersistent(CNV **cnv, const typename CNV::Trans_t *transObj, MsgStream &log) const
Definition TPConverter.h:97
CNV::Trans_t * createTransFromPStore(CNV **cnv, const TPObjRef &ref, MsgStream &log) const
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
Version 1 of the persistent class representing the transient class Muon::MuonClusterOnTrack.
TPObjRef m_competingROT
link to base MuonClusterOnTrack_p1, inheriting from RIO_OnTrack_p1
Class for competing MuonClusters, it extends the Trk::CompetingRIOsOnTrack base class.
const std::vector< const MuonClusterOnTrack * > & containedROTs() const
returns the vector of SCT_ClusterOnTrack objects .
const Trk::Surface * associatedSurfaceRaw() const
Base class for Muon cluster RIO_OnTracks.
This class is an object reference used in Athena persistent data model.
Definition TPObjRef.h:20
Abstract Base Class for tracking surfaces.
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.