ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkEventCnv
TrkEventTPCnv
src
TrkNeutralParameters
NeutralPerigeeCnv_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: NeutralPerigeeCnv_p1.cxx
8
//
9
//-----------------------------------------------------------------------------
10
11
#include "
TrkNeutralParameters/NeutralParameters.h
"
12
#include "
TrkEventTPCnv/TrkNeutralParameters/NeutralPerigeeCnv_p1.h
"
13
#include "
TrkEventTPCnv/TrkParameters/mungeZeroQOverP.h
"
14
15
void
NeutralPerigeeCnv_p1::persToTrans
(
const
Trk::Perigee_p1
*persObj,
16
Trk::NeutralPerigee
*transObj,
17
MsgStream &log )
18
{
19
20
fillTransFromPStore
( &
m_trackParametersCnv
, persObj->
m_parameters
, transObj, log );
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::NeutralPerigee
(parms, *surf.get());
33
if
(waszero)
34
TrkEventTPCnv::mungeZeroQOverP (*transObj);
35
}
36
37
void
NeutralPerigeeCnv_p1::transToPers
(
const
Trk::NeutralPerigee
* ,
38
Trk::Perigee_p1
* ,
39
MsgStream & )
40
{
41
throw
std::runtime_error(
"NeutralPerigeeCnv_p1::transToPers is deprecated!"
);
42
43
}
44
45
NeutralParameters.h
NeutralPerigeeCnv_p1.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
NeutralPerigeeCnv_p1::transToPers
void transToPers(const Trk::NeutralPerigee *, Trk::Perigee_p1 *, MsgStream &)
Definition
NeutralPerigeeCnv_p1.cxx:37
NeutralPerigeeCnv_p1::m_perigeeSurfaceCnv
PerigeeSurfaceCnv_p1 * m_perigeeSurfaceCnv
Definition
NeutralPerigeeCnv_p1.h:38
NeutralPerigeeCnv_p1::m_trackParametersCnv
NeutralParametersCnv_p1 * m_trackParametersCnv
Definition
NeutralPerigeeCnv_p1.h:40
NeutralPerigeeCnv_p1::persToTrans
void persToTrans(const Trk::Perigee_p1 *, Trk::NeutralPerigee *, MsgStream &)
Definition
NeutralPerigeeCnv_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::NeutralPerigee
ParametersT< NeutralParametersDim, Neutral, PerigeeSurface > NeutralPerigee
Definition
NeutralParameters.h:31
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