ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonCnv
MuonEventTPCnv
src
MuonCompetingRIOsOnTrack
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
11
#include "
MuonCompetingRIOsOnTrack/CompetingMuonClustersOnTrack.h
"
12
#include "
MuonEventTPCnv/MuonCompetingRIOsOnTrack/CompetingMuonClustersOnTrackCnv_p2.h
"
13
#include "
MuonRIO_OnTrack/MuonClusterOnTrack.h
"
14
#include "
TrkMeasurementBase/MeasurementBase.h
"
15
#include "
TrkRIO_OnTrack/RIO_OnTrack.h
"
16
17
void
18
CompetingMuonClustersOnTrackCnv_p2::persToTrans
(
const
Muon::CompetingMuonClustersOnTrack_p1
*persObj,
19
Muon::CompetingMuonClustersOnTrack
*transObj,
20
MsgStream &log )
21
{
22
std::vector<std::unique_ptr<const Muon::MuonClusterOnTrack>> containedChildRots{};
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.emplace_back( mcot );
28
}
29
30
Trk::Surface
* associatedSurface = this->
createTransFromPStore
( &
m_surfCnv
, persObj->
m_associatedSurface
, log );
31
32
*transObj =
Muon::CompetingMuonClustersOnTrack
(
Trk::LocalParameters
(),
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
43
CompetingMuonClustersOnTrackCnv_p2::transToPers
(
const
Muon::CompetingMuonClustersOnTrack
*transObj,
44
Muon::CompetingMuonClustersOnTrack_p1
*persObj,
45
MsgStream &log )
46
{
47
persObj->
m_competingROT
=
baseToPersistent
( &
m_cRotCnv
, transObj, log );
48
49
for
(
const
auto
& p : transObj->
containedROTs
()) {
50
ITPConverterFor<Trk::MeasurementBase>
*rotCnv =
nullptr
;
51
persObj->
m_containedChildRots
.push_back(
toPersistent
(&rotCnv, p.get(), log) );
52
}
53
54
persObj->
m_associatedSurface
=
toPersistent
(&
m_surfCnv
, transObj->
associatedSurfaceRaw
(), log);
55
}
56
57
ref
const std::regex ref(r_ef)
CompetingMuonClustersOnTrackCnv_p2.h
CompetingMuonClustersOnTrack.h
MeasurementBase.h
MuonClusterOnTrack.h
RIO_OnTrack.h
CompetingMuonClustersOnTrackCnv_p2::m_surfCnv
ITPConverterFor< Trk::Surface > * m_surfCnv
Definition
CompetingMuonClustersOnTrackCnv_p2.h:45
CompetingMuonClustersOnTrackCnv_p2::m_cRotCnv
CompetingRIOsOnTrackCnv_p1 * m_cRotCnv
Definition
CompetingMuonClustersOnTrackCnv_p2.h:42
CompetingMuonClustersOnTrackCnv_p2::persToTrans
virtual void persToTrans(const Muon::CompetingMuonClustersOnTrack_p1 *persObj, Muon::CompetingMuonClustersOnTrack *transObj, MsgStream &log)
Definition
CompetingMuonClustersOnTrackCnv_p2.cxx:18
CompetingMuonClustersOnTrackCnv_p2::transToPers
virtual void transToPers(const Muon::CompetingMuonClustersOnTrack *transObj, Muon::CompetingMuonClustersOnTrack_p1 *persObj, MsgStream &log)
Definition
CompetingMuonClustersOnTrackCnv_p2.cxx:43
ITPConverterFor< TRANS_BASE >::baseToPersistent
TPObjRef baseToPersistent(CNV **cnv, const typename CNV::Trans_t *transObj, MsgStream &log) const
Definition
TPConverter.h:97
ITPConverterFor< TRANS_BASE >::createTransFromPStore
CNV::Trans_t * createTransFromPStore(CNV **cnv, const TPObjRef &ref, MsgStream &log) const
Definition
TPConverter.h:172
ITPConverterFor< TRANS_BASE >::fillTransFromPStore
void fillTransFromPStore(CNV **cnv, const TPObjRef &ref, TRANS_T *trans, MsgStream &log) const
Definition
TPConverter.h:145
ITPConverterFor< TRANS_BASE >::toPersistent
TPObjRef toPersistent(CNV **cnv, const typename CNV::TransBase_t *transObj, MsgStream &log) const
Definition
TPConverter.h:119
ITPConverterFor< TRANS_BASE >::ITPConverterFor
ITPConverterFor()
Definition
TPConverter.h:43
Muon::CompetingMuonClustersOnTrack_p1
Version 1 of the persistent class representing the transient class Muon::MuonClusterOnTrack.
Definition
CompetingMuonClustersOnTrack_p1.h:20
Muon::CompetingMuonClustersOnTrack_p1::m_containedChildRots
std::vector< TPObjRef > m_containedChildRots
Definition
CompetingMuonClustersOnTrack_p1.h:27
Muon::CompetingMuonClustersOnTrack_p1::m_competingROT
TPObjRef m_competingROT
link to base MuonClusterOnTrack_p1, inheriting from RIO_OnTrack_p1
Definition
CompetingMuonClustersOnTrack_p1.h:25
Muon::CompetingMuonClustersOnTrack_p1::m_associatedSurface
TPObjRef m_associatedSurface
Definition
CompetingMuonClustersOnTrack_p1.h:28
Muon::CompetingMuonClustersOnTrack
Class for competing MuonClusters, it extends the Trk::CompetingRIOsOnTrack base class.
Definition
CompetingMuonClustersOnTrack.h:54
Muon::CompetingMuonClustersOnTrack::containedROTs
const std::vector< std::unique_ptr< const MuonClusterOnTrack > > & containedROTs() const
returns the vector of SCT_ClusterOnTrack objects .
Definition
CompetingMuonClustersOnTrack.h:180
Muon::CompetingMuonClustersOnTrack::associatedSurfaceRaw
const Trk::Surface * associatedSurfaceRaw() const
Definition
CompetingMuonClustersOnTrack.h:168
Muon::MuonClusterOnTrack
Base class for Muon cluster RIO_OnTracks.
Definition
MuonClusterOnTrack.h:34
TPObjRef
This class is an object reference used in Athena persistent data model.
Definition
TPObjRef.h:20
Trk::LocalParameters
Definition
LocalParameters.h:100
Trk::Surface
Abstract Base Class for tracking surfaces.
Definition
Surface.h:79
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition
EventPrimitives.h:27
Generated on
for ATLAS Offline Software by
1.17.0