ATLAS Offline Software
Loading...
Searching...
No Matches
TrackCnv_p2.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//-----------------------------------------------------------------------------
6//
7// file: TrackCnv_p2.cxx
8//
9//-----------------------------------------------------------------------------
10#include "TrkTrack/Track.h"
12
13//including old enumerate schema
15//-----------------------------------------------------------------------------
16// Persistent to transient
17//-----------------------------------------------------------------------------
19 Trk::Track *transObj,
20 MsgStream &log )
21{
22
23//forwarding the TrackInfo from old to new version
25 std::vector< unsigned int> properties;
26 std::vector< unsigned int> patternReco;
27
28 switch(static_cast<TrackAuthor_old>(persObj->m_author))
29 {
30 case unknown_old:
31
32 case iPat_old:
34 break;
35 case iPatBremFit_old:
37 properties.push_back(Trk::TrackInfo::BremFit);
38 break;
39 case xKalman_old:
41 break;
44 properties.push_back(Trk::TrackInfo::BremFit);
45 break;
48 patternReco.push_back(Trk::TrackInfo::iPatLegacyCnv);
49 break;
52 patternReco.push_back(Trk::TrackInfo::iPatLegacyCnv);
53 properties.push_back(Trk::TrackInfo::BremFit);
54 break;
56 patternReco.push_back(Trk::TrackInfo::MooreLegacyCnv);
57 break;
59 properties.push_back(Trk::TrackInfo::BremFit);
60 break;
61 case Muonboy_old:
62 patternReco.push_back(Trk::TrackInfo::Muonboy);
63 break;
66 patternReco.push_back(Trk::TrackInfo::xKalmanLegacyCnv);
67 break;
70 patternReco.push_back(Trk::TrackInfo::xKalmanLegacyCnv);
71 properties.push_back(Trk::TrackInfo::BremFit);
72 break;
75 break;
76 case MuidComb_old:
77 patternReco.push_back(Trk::TrackInfo::MuidComb);
78 break;
80 patternReco.push_back(Trk::TrackInfo::MuidStandAlone);
81 break;
82 case MuidLowPt_old:
83 patternReco.push_back(Trk::TrackInfo::MuidStandAlone);
84 properties.push_back(Trk::TrackInfo::LowPtTrack);
85 break;
86 case STACO_old:
87 patternReco.push_back(Trk::TrackInfo::STACO);
88 break;
89 case StacoLowPt_old:
90 patternReco.push_back(Trk::TrackInfo::STACO);
91 properties.push_back(Trk::TrackInfo::LowPtTrack);
92 break;
93 case TrigIDSCAN:
94 patternReco.push_back(Trk::TrackInfo::TrigIDSCAN);
95 break;
96 case TrigSiTrack_old:
97 patternReco.push_back(Trk::TrackInfo::TrigSiTrack);
98 break;
99 case TrigTRTxK_old:
100 patternReco.push_back(Trk::TrackInfo::TrigTRTxK);
101 break;
102 case TrigTRTLUT_old:
103 patternReco.push_back(Trk::TrackInfo::TrigTRTLUT);
104 break;
107 break;
109 patternReco.push_back(Trk::TrackInfo::SiSPSeededFinder);
110 break;
113 break;
116 properties.push_back(Trk::TrackInfo::BremFit);
117 break;
120 break;
123 break;
126 break;
128 patternReco.push_back(Trk::TrackInfo::TRTSeededTrackFinder);
129 break;
131 patternReco.push_back(Trk::TrackInfo::TRTStandalone);
132 break;
134 break;
135 }//end of switch author method
136
137 Trk::TrackInfo info(fitter , static_cast<Trk::ParticleHypothesis>(persObj->m_particleHypo));
138
139//setting properties
140 unsigned int pro_size = properties.size();
141 unsigned int pat_size = patternReco.size();
142 if(pro_size) for(unsigned int i = 0;i<pro_size;++i)
143 info.setTrackProperties(static_cast<Trk::TrackInfo::TrackProperties>(properties[i]));
144
145 if(pat_size) for(unsigned int i = 0;i<pat_size;++i)
146 info.setPatternRecognitionInfo(static_cast<Trk::TrackInfo::TrackPatternRecoInfo>(patternReco[i]));
147
148 transObj->m_trackInfo = info;
149 transObj->m_fitQuality.reset(createTransFromPStore( &m_fqCnv, persObj->m_fitQuality, log ));
150 //ensure we delete the ptr
151 std::unique_ptr<Trk::TrackStates> sink(
152 m_trackStateVectorCnv.createTransient(&persObj->m_trackState, log));
153 //move copy
154 transObj->m_trackStateVector = std::move(sink);
155}
156
157//-----------------------------------------------------------------------------
158// Transient to persistent
159//-----------------------------------------------------------------------------
162 MsgStream & )
163{
164 throw std::runtime_error("TrackCnv_p2::transToPers is deprecated!");
165}
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.
CNV::Trans_t * createTransFromPStore(CNV **cnv, const TPObjRef &ref, MsgStream &log) const
TrackStateOSVectorCnv_p2 m_trackStateVectorCnv
Definition TrackCnv_p2.h:44
virtual void persToTrans(const Trk::Track_p1 *, Trk::Track *, MsgStream &)
FitQualityCnv_p1 * m_fqCnv
Definition TrackCnv_p2.h:43
virtual void transToPers(const Trk::Track *, Trk::Track_p1 *, 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_particleHypo
Definition Track_p1.h:24
unsigned int m_author
Definition Track_p1.h:23
std::vector< TPObjRef > m_trackState
Definition Track_p1.h:28
TPObjRef m_fitQuality
Definition Track_p1.h:26
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.