ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkEventCnv
TrkEventTPCnv
src
TrkTrack
TrackStateOnSurfaceCnv_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: TrackStateOnSurfaceCnv_p2.cxx
8
//
9
//-----------------------------------------------------------------------------
10
11
#include "
TrkTrack/TrackStateOnSurface.h
"
12
#include "
TrkParametersBase/ParametersT.h
"
13
#include "
TrkParameters/TrackParameters.h
"
14
#include "
TrkEventTPCnv/TrkTrack/TrackStateOnSurfaceCnv_p2.h
"
15
16
#include "
TrkMeasurementBase/MeasurementBase.h
"
17
#include "
TrkMaterialOnTrack/MaterialEffectsBase.h
"
18
19
//#include "TrkEventTPCnv/TrkParameters/TrackParametersCnv_p1.h"
20
21
22
void
TrackStateOnSurfaceCnv_p2::
23
persToTrans
(
const
Trk::TrackStateOnSurface_p2
*persObj,
Trk::TrackStateOnSurface
*transObj, MsgStream &log )
24
{
25
ITPConverterFor<Trk::MeasurementBase>
*measureCnv =
nullptr
;
26
Trk::MeasurementBase
* meas =
createTransFromPStore
( &measureCnv, persObj->
m_measurementOnTrack
, log );
27
28
ITPConverterFor<Trk::TrackParameters>
*paramsCnv =
nullptr
;
29
Trk::TrackParameters
* trackParameters =
dynamic_cast<
Trk::TrackParameters
*
>
(
createTransFromPStore
( ¶msCnv, persObj->
m_trackParameters
, log ));
30
31
std::unique_ptr<const Trk::FitQuality> fitQ(
createTransFromPStore
( &
m_fitQCnv
, persObj->
m_fitQualityOnSurface
, log));
32
auto
fitQos = fitQ ?
Trk::FitQualityOnSurface
(*fitQ) :
Trk::FitQualityOnSurface
{};
33
34
ITPConverterFor<Trk::MaterialEffectsBase>
*matBaseCnv =
nullptr
;
35
Trk::MaterialEffectsBase
* materialEffects =
createTransFromPStore
( &matBaseCnv, persObj->
m_materialEffects
, log );
36
37
std::bitset<Trk::TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes>
types
;
38
std::bitset<Trk::TrackStateOnSurface::NumberOfPersistencyHints> hints;
39
Trk::TrackStateOnSurface::splitToBitsets
(persObj->
m_typeFlags
,
types
, hints);
40
*transObj =
Trk::TrackStateOnSurface
(fitQos,
41
std::unique_ptr<Trk::MeasurementBase> (meas),
42
std::unique_ptr<Trk::TrackParameters>(trackParameters),
43
std::unique_ptr<Trk::MaterialEffectsBase>(materialEffects),
44
types
);
45
//Hints are atomic. Set once here if TSOS was slimmed
46
//aka not 0. If 0 we want to allow setting them later on
47
uint8_t hintsUInt = hints.to_ulong();
48
if
(hintsUInt!=0){
49
transObj->
setHints
(hintsUInt);
50
}
51
52
}
53
54
55
void
TrackStateOnSurfaceCnv_p2::
56
transToPers
(
const
Trk::TrackStateOnSurface
*,
Trk::TrackStateOnSurface_p2
*, MsgStream & )
57
{
58
throw
std::runtime_error(
"TrackStateOnSurfaceCnv_p2::transToPers is deprecated!"
);
59
}
MaterialEffectsBase.h
MeasurementBase.h
types
static const std::vector< std::string > types
Definition
MuonTriggerSFFilesTest.cxx:20
ParametersT.h
TrackStateOnSurfaceCnv_p2.h
TrackStateOnSurface.h
TrackParameters.h
ITPConverterFor
Common base class for all TP converters, specialized for a given transient type.
Definition
TPConverter.h:37
TPPolyCnvBase< TRANS, TRANS, PERS >::createTransFromPStore
CNV::Trans_t * createTransFromPStore(CNV **cnv, const TPObjRef &ref, MsgStream &log) const
Definition
TPConverter.h:172
TrackStateOnSurfaceCnv_p2::m_fitQCnv
FitQualityCnv_p1 * m_fitQCnv
Definition
TrackStateOnSurfaceCnv_p2.h:37
TrackStateOnSurfaceCnv_p2::transToPers
virtual void transToPers(const Trk::TrackStateOnSurface *transObj, Trk::TrackStateOnSurface_p2 *persObj, MsgStream &log)
Definition
TrackStateOnSurfaceCnv_p2.cxx:56
TrackStateOnSurfaceCnv_p2::persToTrans
virtual void persToTrans(const Trk::TrackStateOnSurface_p2 *persObj, Trk::TrackStateOnSurface *transObj, MsgStream &log)
Definition
TrackStateOnSurfaceCnv_p2.cxx:23
Trk::FitQualityOnSurface
Definition
FitQualityOnSurface.h:19
Trk::MaterialEffectsBase
base class to integrate material effects on Trk::Track in a flexible way.
Definition
MaterialEffectsBase.h:35
Trk::MeasurementBase
This class is the pure abstract base class for all fittable tracking measurements.
Definition
MeasurementBase.h:58
Trk::TrackStateOnSurface_p2
Definition
TrackStateOnSurface_p2.h:19
Trk::TrackStateOnSurface_p2::m_fitQualityOnSurface
TPObjRef m_fitQualityOnSurface
Definition
TrackStateOnSurface_p2.h:26
Trk::TrackStateOnSurface_p2::m_materialEffects
TPObjRef m_materialEffects
Definition
TrackStateOnSurface_p2.h:28
Trk::TrackStateOnSurface_p2::m_measurementOnTrack
TPObjRef m_measurementOnTrack
Definition
TrackStateOnSurface_p2.h:30
Trk::TrackStateOnSurface_p2::m_typeFlags
long m_typeFlags
Definition
TrackStateOnSurface_p2.h:31
Trk::TrackStateOnSurface_p2::m_trackParameters
TPObjRef m_trackParameters
Definition
TrackStateOnSurface_p2.h:24
Trk::TrackStateOnSurface
represents the track state (measurement, material, fit parameters and quality) at a surface.
Definition
TrackStateOnSurface.h:71
Trk::TrackStateOnSurface::setHints
void setHints(const uint8_t hints) const
Use this method to set persistification hints.
Definition
TrackStateOnSurface.cxx:235
Trk::TrackStateOnSurface::splitToBitsets
static void splitToBitsets(const unsigned int long input, std::bitset< NumberOfTrackStateOnSurfaceTypes > &types, std::bitset< NumberOfPersistencyHints > &hints)
Definition
TrackStateOnSurface.h:196
Trk::TrackParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:27
Generated on
for ATLAS Offline Software by
1.17.0