ATLAS Offline Software
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 
17 void
20  MsgStream &log )
21 {
22  auto containedChildRots = std::make_unique<std::vector< const Muon::MuonClusterOnTrack * > >();
23 
24  for (const TPObjRef& ref : persObj->m_containedChildRots) {
25  ITPConverterFor<Trk::MeasurementBase> *rotCnv = nullptr;
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 
33  Amg::MatrixX(),
34  associatedSurface,
35  std::move(*containedChildRots),
36  {} // assgnProb
37  );
38 
39  fillTransFromPStore( &m_cRotCnv, persObj->m_competingROT, transObj, log );
40 }
41 
42 void
45  MsgStream &log )
46 {
47  persObj->m_competingROT = baseToPersistent( &m_cRotCnv, transObj, log );
48 
49  for (const Muon::MuonClusterOnTrack* p : transObj->containedROTs()) {
50  ITPConverterFor<Trk::MeasurementBase> *rotCnv = nullptr;
51  persObj->m_containedChildRots.push_back( toPersistent(&rotCnv, p, log) );
52  }
53 
55 }
56 
57 
Trk::LocalParameters
Definition: LocalParameters.h:98
ITPConverterFor< Trk::MeasurementBase >
CompetingMuonClustersOnTrackCnv_p2::transToPers
virtual void transToPers(const Muon::CompetingMuonClustersOnTrack *transObj, Muon::CompetingMuonClustersOnTrack_p1 *persObj, MsgStream &log)
Definition: CompetingMuonClustersOnTrackCnv_p2.cxx:43
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:29
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
MeasurementBase.h
CompetingMuonClustersOnTrackCnv_p2::persToTrans
virtual void persToTrans(const Muon::CompetingMuonClustersOnTrack_p1 *persObj, Muon::CompetingMuonClustersOnTrack *transObj, MsgStream &log)
Definition: CompetingMuonClustersOnTrackCnv_p2.cxx:18
Muon::CompetingMuonClustersOnTrack_p1::m_containedChildRots
std::vector< TPObjRef > m_containedChildRots
Definition: CompetingMuonClustersOnTrack_p1.h:27
CompetingMuonClustersOnTrack.h
Muon::CompetingMuonClustersOnTrack
Definition: CompetingMuonClustersOnTrack.h:54
TPObjRef
Definition: TPObjRef.h:20
ITPConverterFor< TRANS_BASE >::fillTransFromPStore
void fillTransFromPStore(CNV **cnv, const TPObjRef &ref, TRANS_T *trans, MsgStream &log) const
Convert persistent object, stored in the the top-level persistent object and referenced by the TP Ref...
Definition: TPConverter.h:145
Muon::CompetingMuonClustersOnTrack::associatedSurfaceRaw
const Trk::Surface * associatedSurfaceRaw() const
Definition: CompetingMuonClustersOnTrack.h:172
Muon::CompetingMuonClustersOnTrack_p1::m_associatedSurface
TPObjRef m_associatedSurface
Definition: CompetingMuonClustersOnTrack_p1.h:28
CompetingMuonClustersOnTrackCnv_p2.h
ITPConverterFor< TRANS_BASE >::toPersistent
TPObjRef toPersistent(CNV **cnv, const typename CNV::TransBase_t *transObj, MsgStream &log) const
Persistify an object and store the persistent represenation in the storage vector of the top-level pe...
Definition: TPConverter.h:119
ITPConverterFor< TRANS_BASE >::baseToPersistent
TPObjRef baseToPersistent(CNV **cnv, const typename CNV::Trans_t *transObj, MsgStream &log) const
Persistify bass class of a given object and store the persistent represenation in the storage vector ...
Definition: TPConverter.h:97
RIO_OnTrack.h
Muon::CompetingMuonClustersOnTrack_p1
Version 1 of the persistent class representing the transient class Muon::MuonClusterOnTrack.
Definition: CompetingMuonClustersOnTrack_p1.h:20
Muon::CompetingMuonClustersOnTrack::containedROTs
const std::vector< const MuonClusterOnTrack * > & containedROTs() const
returns the vector of SCT_ClusterOnTrack objects .
Definition: CompetingMuonClustersOnTrack.h:184
Muon::CompetingMuonClustersOnTrack_p1::m_competingROT
TPObjRef m_competingROT
link to base MuonClusterOnTrack_p1, inheriting from RIO_OnTrack_p1
Definition: CompetingMuonClustersOnTrack_p1.h:25
ref
const boost::regex ref(r_ef)
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
CompetingMuonClustersOnTrackCnv_p2::m_cRotCnv
CompetingRIOsOnTrackCnv_p1 * m_cRotCnv
Definition: CompetingMuonClustersOnTrackCnv_p2.h:42
CompetingMuonClustersOnTrackCnv_p2::m_surfCnv
ITPConverterFor< Trk::Surface > * m_surfCnv
Definition: CompetingMuonClustersOnTrackCnv_p2.h:45
MuonClusterOnTrack.h
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
Muon::MuonClusterOnTrack
Base class for Muon cluster RIO_OnTracks.
Definition: MuonClusterOnTrack.h:34
ITPConverterFor< TRANS_BASE >::createTransFromPStore
CNV::Trans_t * createTransFromPStore(CNV **cnv, const TPObjRef &ref, MsgStream &log) const
Create transient representation of a persistent object, stored in the the top-level persistent object...
Definition: TPConverter.h:172