ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonCnv
MuonEventTPCnv
src
MuonRIO_OnTrack
TgcClusterOnTrackCnv_p2.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
//-----------------------------------------------------------------------------
6
//
7
// file: TgcClusterOnTrackCnv_p2.cxx
8
//
9
//-----------------------------------------------------------------------------
10
11
#include "
MuonRIO_OnTrack/TgcClusterOnTrack.h
"
12
#include "
MuonEventTPCnv/MuonRIO_OnTrack/TgcClusterOnTrackCnv_p2.h
"
13
#include "
TrkEventTPCnv/helpers/EigenHelpers.h
"
14
15
16
void
TgcClusterOnTrackCnv_p2::
17
persToTrans
(
const
Muon::TgcClusterOnTrack_p2
*persObj,
18
Muon::TgcClusterOnTrack
*transObj, MsgStream &log )
19
{
20
Trk::LocalParameters
localParams;
21
fillTransFromPStore
( &
m_localParCnv
, persObj->
m_localParams
, &localParams, log );
22
23
Trk::ErrorMatrix
dummy;
24
Amg::MatrixX
localCovariance;
25
fillTransFromPStore
( &
m_errorMxCnv
, persObj->
m_localErrMat
, &dummy, log );
26
EigenHelpers::vectorToEigenMatrix(dummy.values, localCovariance,
"TgcClusterOnTrackCnv_p2"
);
27
28
ElementLinkToIDC_TGC_Container
rio;
29
m_elCnv
.persToTrans(&persObj->
m_prdLink
,&rio,log);
30
31
*transObj =
Muon::TgcClusterOnTrack
(rio,
32
std::move(localParams),
33
std::move(localCovariance),
34
Identifier
(persObj->
m_id
),
35
nullptr
,
36
persObj->
m_positionAlongStrip
);
37
38
39
// Attempt to call supertool to fill in detElements
40
m_eventCnvTool
->recreateRIO_OnTrack(transObj);
41
if
(!transObj->
detectorElement
())
42
log << MSG::WARNING<<
"Unable to reset DetEl for this RIO_OnTrack, "
43
<<
"probably because of a problem with the Identifier/IdentifierHash : ("
44
<< transObj->
identify
()<<
"/"
<<transObj->
idDE
()<<
endmsg
;
45
}
46
47
48
void
TgcClusterOnTrackCnv_p2::
49
transToPers
(
const
Muon::TgcClusterOnTrack
*transObj,
50
Muon::TgcClusterOnTrack_p2
*persObj, MsgStream &log )
51
{
52
// Prepare ELs
53
Trk::IEventCnvSuperTool::ELKey_t
key;
54
Trk::IEventCnvSuperTool::ELIndex_t
index
;
55
m_eventCnvTool
->prepareRIO_OnTrackLink(transObj, key,
index
);
56
ElementLinkToIDC_TGC_Container
eltmp (key,
index
);
57
58
m_elCnv
.transToPers(&eltmp, &persObj->
m_prdLink
,log);
59
persObj->
m_positionAlongStrip
= transObj->
positionAlongStrip
();
60
61
persObj->
m_id
= transObj->
identify
().
get_identifier32
().
get_compact
();
62
persObj->
m_localParams
=
toPersistent
( &
m_localParCnv
, &transObj->
localParameters
(), log );
63
Trk::ErrorMatrix
pMat;
64
EigenHelpers::eigenMatrixToVector
(pMat.
values
, transObj->
localCovariance
(),
"TgcClusterOnTrackCnv_p2"
);
65
persObj->
m_localErrMat
=
toPersistent
( &
m_errorMxCnv
, &pMat, log );
66
}
67
68
endmsg
#define endmsg
Definition
AnalysisConfig_Ntuple.cxx:54
EigenHelpers.h
TgcClusterOnTrackCnv_p2.h
TgcClusterOnTrack.h
ElementLinkToIDC_TGC_Container
ElementLink< Muon::TgcPrepDataContainer > ElementLinkToIDC_TGC_Container
Definition
TgcClusterOnTrack.h:27
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
Identifier32::get_compact
value_type get_compact() const
Get the compact id.
Definition
Identifier32.h:47
Identifier::get_identifier32
Identifier32 get_identifier32() const
Get the 32-bit version Identifier, will be invalid if >32 bits needed.
Muon::MuonClusterOnTrack::positionAlongStrip
virtual double positionAlongStrip() const
Definition
MuonClusterOnTrack.h:68
Muon::MuonClusterOnTrack::idDE
virtual IdentifierHash idDE() const override
Returns an invalid hash.
Definition
MuonClusterOnTrack.h:116
Muon::TgcClusterOnTrack_p2
Version 2 of the persistent class representing the transient class Muon::TgcClusterOnTrack.
Definition
TgcClusterOnTrack_p2.h:21
Muon::TgcClusterOnTrack_p2::m_id
Identifier32::value_type m_id
base RIO_OnTrack_p1 info
Definition
TgcClusterOnTrack_p2.h:26
Muon::TgcClusterOnTrack_p2::m_localErrMat
TPObjRef m_localErrMat
Definition
TgcClusterOnTrack_p2.h:28
Muon::TgcClusterOnTrack_p2::m_positionAlongStrip
float m_positionAlongStrip
position along strip (double in transient world)
Definition
TgcClusterOnTrack_p2.h:34
Muon::TgcClusterOnTrack_p2::m_localParams
TPObjRef m_localParams
Definition
TgcClusterOnTrack_p2.h:27
Muon::TgcClusterOnTrack_p2::m_prdLink
ElementLinkInt_p3 m_prdLink
Link to PRD.
Definition
TgcClusterOnTrack_p2.h:31
Muon::TgcClusterOnTrack
Class to represent calibrated clusters formed from TGC strips.
Definition
TgcClusterOnTrack.h:46
Muon::TgcClusterOnTrack::detectorElement
virtual const MuonGM::TgcReadoutElement * detectorElement() const
Returns the detector element, assoicated with the PRD of this class.
Definition
TgcClusterOnTrack.h:140
TgcClusterOnTrackCnv_p2::m_elCnv
ElementLinkCnv_p3< ElementLinkToIDC_TGC_Container > m_elCnv
Definition
TgcClusterOnTrackCnv_p2.h:43
TgcClusterOnTrackCnv_p2::persToTrans
void persToTrans(const Muon ::TgcClusterOnTrack_p2 *persObj, Muon ::TgcClusterOnTrack *transObj, MsgStream &log)
Definition
TgcClusterOnTrackCnv_p2.cxx:17
TgcClusterOnTrackCnv_p2::transToPers
void transToPers(const Muon ::TgcClusterOnTrack *transObj, Muon ::TgcClusterOnTrack_p2 *persObj, MsgStream &log)
Definition
TgcClusterOnTrackCnv_p2.cxx:49
TgcClusterOnTrackCnv_p2::m_eventCnvTool
ToolHandle< Trk::IEventCnvSuperTool > m_eventCnvTool
Definition
TgcClusterOnTrackCnv_p2.h:44
TgcClusterOnTrackCnv_p2::m_localParCnv
LocalParametersCnv_p1 * m_localParCnv
Definition
TgcClusterOnTrackCnv_p2.h:45
TgcClusterOnTrackCnv_p2::m_errorMxCnv
ErrorMatrixCnv_p1 * m_errorMxCnv
Definition
TgcClusterOnTrackCnv_p2.h:46
Trk::ErrorMatrix
Definition
ErrorMatrixCnv_p1.h:25
Trk::ErrorMatrix::values
std::vector< float > values
Definition
ErrorMatrixCnv_p1.h:27
Trk::IEventCnvSuperTool::ELKey_t
std::string ELKey_t
Key and index types used for an EL to IdentifiableContainer.
Definition
IEventCnvSuperTool.h:29
Trk::IEventCnvSuperTool::ELIndex_t
unsigned int ELIndex_t
Definition
IEventCnvSuperTool.h:30
Trk::LocalParameters
Definition
LocalParameters.h:100
Trk::MeasurementBase::localParameters
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
Definition
MeasurementBase.h:132
Trk::MeasurementBase::localCovariance
const Amg::MatrixX & localCovariance() const
Interface method to get the localError.
Definition
MeasurementBase.h:138
Trk::RIO_OnTrack::identify
Identifier identify() const
return the identifier -extends MeasurementBase
Definition
RIO_OnTrack.h:152
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition
EventPrimitives.h:27
EigenHelpers::eigenMatrixToVector
static void eigenMatrixToVector(VECTOR &vec, COVARIANCE &cov, const char *)
Definition
EFTrackingSmearingAlg.cxx:87
Identifier
Definition
IdentifierFieldParser.cxx:14
index
Definition
index.py:1
Generated on
for ATLAS Offline Software by
1.17.0