ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkEventCnv
TrkEventTPCnv
src
TrkParameters
PerigeeCnv_p1.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
//-----------------------------------------------------------------------------
6
//
7
// file: PerigeeCnv_p1.cxx
8
//
9
//-----------------------------------------------------------------------------
10
11
#include "
TrkParameters/TrackParameters.h
"
12
#include "
TrkEventTPCnv/TrkParameters/PerigeeCnv_p1.h
"
13
#include "
TrkEventTPCnv/TrkParameters/mungeZeroQOverP.h
"
14
15
void
PerigeeCnv_p1::persToTrans
(
const
Trk::Perigee_p1
*persObj,
16
Trk::Perigee
*transObj,
17
MsgStream &log )
18
{
19
fillTransFromPStore
( &
m_trackParametersCnv
, persObj->
m_parameters
, transObj, log );
20
21
// Preserve previous behavior of tp converters.
22
bool
waszero =
false
;
23
auto
parms = transObj->parameters();
24
if
(parms[
Trk::qOverP
] == 0) {
25
parms[
Trk::qOverP
] = 1;
26
waszero =
true
;
27
}
28
29
Trk::SurfaceUniquePtrT<const Trk::PerigeeSurface>
surf
30
(
createTransFromPStore
( &
m_perigeeSurfaceCnv
, persObj->
m_assocSurface
, log ));
31
assert(surf);
32
*transObj =
Trk::Perigee
(parms, *surf.get());
33
if
(waszero)
34
TrkEventTPCnv::mungeZeroQOverP (*transObj);
35
}
36
37
void
PerigeeCnv_p1::transToPers
(
const
Trk::Perigee
* ,
38
Trk::Perigee_p1
* ,
39
MsgStream & )
40
{
41
throw
std::runtime_error(
"PerigeeCnv_p1::transToPers is deprecated!"
);
42
}
43
44
PerigeeCnv_p1.h
TrackParameters.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
PerigeeCnv_p1::m_trackParametersCnv
TrackParametersCnv_p1 * m_trackParametersCnv
Definition
PerigeeCnv_p1.h:40
PerigeeCnv_p1::transToPers
void transToPers(const Trk::Perigee *, Trk::Perigee_p1 *, MsgStream &)
Definition
PerigeeCnv_p1.cxx:37
PerigeeCnv_p1::m_perigeeSurfaceCnv
PerigeeSurfaceCnv_p1 * m_perigeeSurfaceCnv
Definition
PerigeeCnv_p1.h:37
PerigeeCnv_p1::persToTrans
void persToTrans(const Trk::Perigee_p1 *, Trk::Perigee *, MsgStream &)
Definition
PerigeeCnv_p1.cxx:15
Trk::Perigee_p1
Definition
Perigee_p1.h:12
Trk::Perigee_p1::m_assocSurface
TPObjRef m_assocSurface
Definition
Perigee_p1.h:17
Trk::Perigee_p1::m_parameters
TPObjRef m_parameters
Definition
Perigee_p1.h:16
mungeZeroQOverP.h
tpcnv compatibility helper
Trk::Perigee
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:33
Trk::qOverP
@ qOverP
perigee
Definition
ParamDefs.h:67
Trk::SurfaceUniquePtrT
std::unique_ptr< S, SurfaceDeleter< S > > SurfaceUniquePtrT
Definition
SurfaceUniquePtrT.h:32
Generated on
for ATLAS Offline Software by
1.17.0