ATLAS Offline Software
Loading...
Searching...
No Matches
TrackCnv_p12.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5#include "TrkTrack/Track.h"
7
8//including old enumerate schema
10
13
15
16void TrackCnv_p12::persToTrans( const Trk::Track_p12 *persObj, Trk::Track *transObj, MsgStream &log ){
17 auto fitQuality = std::make_unique<Trk::FitQuality>();
18 fitQualityCnv.persToTrans(&persObj->m_fitQuality, fitQuality.get(), log);
19 transObj->m_fitQuality = std::move(fitQuality);
20 std::unique_ptr<Trk::TrackStates> sink(
21 m_trackStateVectorCnv.createTransient(&persObj->m_trackState, log));
22 // move copy
23 transObj->m_trackStateVector = std::move(sink);
24
25//forwarding the TrackInfo from old to new version
27 std::vector< unsigned int> properties;
28 std::vector< unsigned int> patternReco;
29
30 switch(static_cast<TrackAuthor_old>(persObj->m_author))
31 {
32 case unknown_old:
33
34 case iPat_old:
36 break;
37 case iPatBremFit_old:
39 properties.push_back(Trk::TrackInfo::BremFit);
40 break;
41 case xKalman_old:
43 break;
46 properties.push_back(Trk::TrackInfo::BremFit);
47 break;
50 patternReco.push_back(Trk::TrackInfo::iPatLegacyCnv);
51 break;
54 patternReco.push_back(Trk::TrackInfo::iPatLegacyCnv);
55 properties.push_back(Trk::TrackInfo::BremFit);
56 break;
58 patternReco.push_back(Trk::TrackInfo::MooreLegacyCnv);
59 break;
61 properties.push_back(Trk::TrackInfo::BremFit);
62 break;
63 case Muonboy_old:
64 patternReco.push_back(Trk::TrackInfo::Muonboy);
65 break;
68 patternReco.push_back(Trk::TrackInfo::xKalmanLegacyCnv);
69 break;
72 patternReco.push_back(Trk::TrackInfo::xKalmanLegacyCnv);
73 properties.push_back(Trk::TrackInfo::BremFit);
74 break;
77 break;
78 case MuidComb_old:
79 patternReco.push_back(Trk::TrackInfo::MuidComb);
80 break;
82 patternReco.push_back(Trk::TrackInfo::MuidStandAlone);
83 break;
84 case MuidLowPt_old:
85 patternReco.push_back(Trk::TrackInfo::MuidStandAlone);
86 properties.push_back(Trk::TrackInfo::LowPtTrack);
87 break;
88 case STACO_old:
89 patternReco.push_back(Trk::TrackInfo::STACO);
90 break;
91 case StacoLowPt_old:
92 patternReco.push_back(Trk::TrackInfo::STACO);
93 properties.push_back(Trk::TrackInfo::LowPtTrack);
94 break;
95 case TrigIDSCAN:
96 patternReco.push_back(Trk::TrackInfo::TrigIDSCAN);
97 break;
98 case TrigSiTrack_old:
99 patternReco.push_back(Trk::TrackInfo::TrigSiTrack);
100 break;
101 case TrigTRTxK_old:
102 patternReco.push_back(Trk::TrackInfo::TrigTRTxK);
103 break;
104 case TrigTRTLUT_old:
105 patternReco.push_back(Trk::TrackInfo::TrigTRTLUT);
106 break;
109 break;
111 patternReco.push_back(Trk::TrackInfo::SiSPSeededFinder);
112 break;
115 break;
118 properties.push_back(Trk::TrackInfo::BremFit);
119 break;
122 break;
125 break;
128 break;
130 patternReco.push_back(Trk::TrackInfo::TRTSeededTrackFinder);
131 break;
133 patternReco.push_back(Trk::TrackInfo::TRTStandalone);
134 break;
136 break;
137 }//end of switch author method
138
139 Trk::TrackInfo info(fitter , static_cast<Trk::ParticleHypothesis>(persObj->m_particleHypo));
140
141//setting properties
142 unsigned int pro_size = properties.size();
143 unsigned int pat_size = patternReco.size();
144 if(pro_size) for(unsigned int i = 0;i<pro_size;++i)
145 info.setTrackProperties(static_cast<Trk::TrackInfo::TrackProperties>(properties[i]));
146
147 if(pat_size) for(unsigned int i = 0;i<pat_size;++i)
148 info.setPatternRecognitionInfo(static_cast<Trk::TrackInfo::TrackPatternRecoInfo>(patternReco[i]));
149
150 transObj->m_trackInfo = info;
151}
152
153
154
156 throw std::runtime_error("TrackCnv_p12::transToPers is deprecated!");
157}
static const FitQualityCnv_p1 fitQualityCnv
TrackAuthor_old
@ DistributedKalmanFilter_old
Fast Kalman filter from HLT with simplified material effects.
@ KalmanDNAFitter_old
Tracks from Kalman DNA Fitter.
@ GaussianSumFilter_old
Tracks from Gaussian Sum Filter.
@ xKalman_old
tracks produced directly from xKalman
@ TRT_StandAlone_old
TRT standalone.
@ TrigSiTrack_old
TrigInDetTracks produced by TrigSiTrack, running at trigger LVL2.
@ GlobalChi2FitterBremFit_old
Track's from Thijs' global chi^2 fitter, with Brem fit.
@ unknown_old
Track author not defined.
@ iPatLegacyCnv_old
tracks converted to Trk::Tracks from iPat tracks
@ MuidStandAlone_old
MuID track which is produced using Muon Spectrometer only.
@ iPatBremFit_old
@ iPat_old
tracks produced directly from iPat
@ TRT_SeededTrackFinder_old
Tracks from Back Tracking.
@ TrigIDSCAN
TrigInDetTracks produced by TrigIDSCAN, running at trigger LVL2.
@ GlobalChi2Fitter_old
Track's from Thijs' global chi^2 fitter.
@ xKalmanLegacyCnvBremFit_old
@ Muonboy_old
tracks produced from MuonBoy
@ MooreLegacyCnvBremFit_old
@ MuidLowPt_old
Low MuID track.
@ NumberOfTrackAuthors_old
maximum number of enums
@ STACO_old
tracks produced by STACO
@ DeterministicAnnealingFilter_old
Adpative track fitter with fuzzy hit assignment.
@ KalmanFitter_old
tracks produced by the Kalman Fitter
@ StacoLowPt_old
Low tracks produced by STACO.
@ xKalmanLegacyCnv_old
tracks converted to Trk::Tracks from xkalman tracks
@ MuidComb_old
MuID combined track (i.e.
@ iPatLegacyCnvBremFit_old
@ xKalmanBremFit_old
@ TrigTRTLUT_old
TrigInDetTracks produced by TrigTRTLUT, running at trigger LVL2.
@ MooreLegacyCnv_old
tracks converted to Trk::Tracks from Moore tracks
@ SiSPSeededTrackFinder_old
Tracks from the SiSpacePointSeededTrackFinder.
@ TrigTRTxK_old
TrigInDetTracks produced by TrigTRTxK, running at trigger LVL2.
TrackStateOSVectorCnv_p1 m_trackStateVectorCnv
void transToPers(const Trk::Track *transObj, Trk::Track_p12 *persObj, MsgStream &)
void persToTrans(const Trk::Track_p12 *persObj, Trk::Track *transObj, MsgStream &)
Contains information about the 'fitter' of this track.
TrackFitter
enums to identify who created this track and what propertis does it have.
@ GaussianSumFilter
Tracks from Gaussian Sum Filter.
@ KalmanFitter
tracks produced by the Kalman Fitter
@ DeterministicAnnealingFilter
Adpative track fitter with fuzzy hit assignment.
@ DistributedKalmanFilter
Fast Kalman filter from HLT with simplified material effects.
@ GlobalChi2Fitter
Track's from Thijs' global chi^2 fitter.
@ BremFit
A brem fit was performed on this track.
@ iPatLegacyCnv
Added because of compilation problems.
@ TRTSeededTrackFinder
Tracks from TRT Seeded Track finder.
@ TrigTRTxK
TrigInDetTracks produced by TrigTRTxK, running at trigger LVL2.
@ MooreLegacyCnv
Back compatibility with old type of ESD.
@ TrigIDSCAN
TrigInDetTracks produced by TrigIDSCAN, running at trigger LVL2.
@ TrigSiTrack
TrigInDetTracks produced by TrigSiTrack, running at trigger LVL2.
@ MuidComb
Back compatibility with older ESD versions.
@ SiSPSeededFinder
Tracks from SiSPSeedFinder.
@ TrigTRTLUT
TrigInDetTracks produced by TrigTRTLUT, running at trigger LVL2.
@ xKalmanLegacyCnv
Added because of compilation problems.
unsigned int m_author
Definition Track_p12.h:19
std::vector< TPObjRef > m_trackState
Definition Track_p12.h:23
FitQuality_p1 m_fitQuality
Definition Track_p12.h:21
unsigned int m_particleHypo
Definition Track_p12.h:20
Trk::TrackInfo m_trackInfo
This is a class which stores the identity of where the track was created, fitted, which properties th...
std::unique_ptr< TrackStates > m_trackStateVector
TrackStateOnSurface.
std::unique_ptr< FitQuality > m_fitQuality
A pointer to the Track's FitQuality.
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.