ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkEventCnv
TrkEventTPCnv
src
TrkPseudoMeasurementOnTrack
PseudoMeasurementOnTrackCnv_p2.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
#include "
TrkPseudoMeasurementOnTrack/PseudoMeasurementOnTrack.h
"
6
#include "
TrkEventTPCnv/TrkPseudoMeasurementOnTrack/PseudoMeasurementOnTrackCnv_p2.h
"
7
#include "
TrkSurfaces/Surface.h
"
8
#include "
TrkEventTPCnv/TrkSurfaces/SurfaceCnv_p2.h
"
9
#include "
TrkEventTPCnv/helpers/EigenHelpers.h
"
10
11
12
void
PseudoMeasurementOnTrackCnv_p2::persToTrans
(
const
Trk :: PseudoMeasurementOnTrack_p2 *persObj,
13
Trk :: PseudoMeasurementOnTrack *transObj, MsgStream &log )
14
{
15
// std::cout<<"PseudoMeasurementOnTrackCnv_p2::persToTrans for transObj="<<transObj<<std::endl;
16
Trk::LocalParameters
localParams;
17
fillTransFromPStore
( &
m_localParamsCnv
, persObj->m_localParams, &localParams, log );
18
// fillTransFromPStore( &m_localErrMatCnv, persObj->m_localErrMat, &transObj->m_localErrMat, log );
19
20
Trk::ErrorMatrix
dummy;
21
Amg::MatrixX
localCovariance;
22
fillTransFromPStore
( &
m_localErrMatCnv
, persObj->m_localErrMat, &dummy, log );
23
EigenHelpers::vectorToEigenMatrix(dummy.values, localCovariance,
"PseudoMeasurementOnTrackCnv_p2"
);
24
25
Trk::ConstSurfaceUniquePtr
surf
26
(this->
createTransFromPStore
( (
ITPConverterFor<Trk::Surface>
**)
nullptr
, persObj->m_associatedSurface, log ));
27
if
(!surf){
28
log<<MSG::WARNING<<
"PseudoMeasurementOnTrackCnv_p2: Could not recreate Surface (null pointer)"
<<
endmsg
;
29
log<<MSG::VERBOSE<<(*transObj)<<
endmsg
;
30
}
31
32
*transObj =
Trk::PseudoMeasurementOnTrack
(std::move(localParams),
33
std::move(localCovariance),
34
std::move(surf));
35
}
36
37
void
PseudoMeasurementOnTrackCnv_p2::transToPers
(
const
Trk :: PseudoMeasurementOnTrack * transObj,
38
Trk :: PseudoMeasurementOnTrack_p2 * persObj, MsgStream & log)
39
{
40
// std::cout<<"PseudoMeasurementOnTrackCnv_p2::transToPers for transObj="<<transObj<<std::endl;
41
persObj->m_localParams =
toPersistent
( &
m_localParamsCnv
, &transObj->localParameters(), log );
42
43
Trk::ErrorMatrix
pMat;
44
EigenHelpers::eigenMatrixToVector
(pMat.
values
, transObj->localCovariance(),
"PseudoMeasurementOnTrackCnv_p2"
);
45
persObj->m_localErrMat =
toPersistent
( &
m_localErrMatCnv
, &pMat, log );
46
47
if
(transObj->hasSurface())
48
{
49
// std::cout<<"PseudoMeasurementOnTrackCnv_p2::transToPers Have base surface ["<<(transObj->associatedSurface().baseSurface())
50
// << "] id= ["<<transObj->associatedSurface().baseSurface()->associatedDetectorElementIdentifier()
51
// <<"] which has isFree()="<<transObj->associatedSurface().baseSurface()->isFree()<<std::endl;
52
// std::cout<<*transObj<<std::endl;
53
persObj->m_associatedSurface =
toPersistent
((
ITPConverterFor<Trk::Surface>
**)
nullptr
, transObj->associatedSurface().baseSurface(), log);
54
}
55
else
{
56
log<<MSG::WARNING<<
"TrackParameter doesn't have a surface! Dumping: "
<<*transObj<<
endmsg
;
57
}
58
}
endmsg
#define endmsg
Definition
AnalysisConfig_Ntuple.cxx:54
EigenHelpers.h
PseudoMeasurementOnTrackCnv_p2.h
PseudoMeasurementOnTrack.h
SurfaceCnv_p2.h
Surface.h
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
PseudoMeasurementOnTrackCnv_p2::m_localErrMatCnv
ErrorMatrixCnv_p1 * m_localErrMatCnv
Definition
PseudoMeasurementOnTrackCnv_p2.h:42
PseudoMeasurementOnTrackCnv_p2::m_localParamsCnv
LocalParametersCnv_p1 * m_localParamsCnv
Definition
PseudoMeasurementOnTrackCnv_p2.h:41
PseudoMeasurementOnTrackCnv_p2::persToTrans
virtual void persToTrans(const Trk ::PseudoMeasurementOnTrack_p2 *persObj, Trk ::PseudoMeasurementOnTrack *transObj, MsgStream &log)
Definition
PseudoMeasurementOnTrackCnv_p2.cxx:12
PseudoMeasurementOnTrackCnv_p2::transToPers
virtual void transToPers(const Trk ::PseudoMeasurementOnTrack *transObj, Trk ::PseudoMeasurementOnTrack_p2 *persObj, MsgStream &log)
Definition
PseudoMeasurementOnTrackCnv_p2.cxx:37
Trk::ErrorMatrix
Definition
ErrorMatrixCnv_p1.h:25
Trk::ErrorMatrix::values
std::vector< float > values
Definition
ErrorMatrixCnv_p1.h:27
Trk::LocalParameters
Definition
LocalParameters.h:100
Trk::PseudoMeasurementOnTrack
Class to handle pseudo-measurements in fitters and on track objects.
Definition
PseudoMeasurementOnTrack.h:44
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
Trk::ConstSurfaceUniquePtr
SurfaceUniquePtrT< const Trk::Surface > ConstSurfaceUniquePtr
Definition
Surface.h:468
Generated on
for ATLAS Offline Software by
1.17.0