ATLAS Offline Software
Loading...
Searching...
No Matches
TrackCollectionCnv_tlp7.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7/*
8 Converter for TrackCollection v tlp7.
9 Direct copy of TLP5 but with MuonMeasurements and InDet::Track tlp converters
10 integrated directly
11*/
12
14{
15// Add all converters defined in this top level converter:
16// never change the order of adding converters!
17
19
22
24
25 // Measurements
29 // Other measurements are stored in the other tlp objects, i.e. the InDetTrack, and MuonMeasurements
30
31 // Parameters
33
34 // Surfaces
42
43 // Bounds
53
59
63
64 //Multi Component state on Surface
66
67 // adding extending TLP converters,
68 // they don't interfere with the order of adding regular converters (above)
69 m_muonMeasurementsCnv.addTPConvertersTo( this );
70 m_inDetTrackCnv .addTPConvertersTo( this );
71 m_muonCaloEnergiesCnv.addTPConvertersTo( this );
72
73}
74
75
77{
79
80// for all converters defined in this top level converter
81 m_tracksCnv. setPStorage( &storage->m_tracks );
84
88
90
91 // Unbound Surfaces
92 m_perigeeSurfacesCnv .setPStorage( &storage->m_surfaces );
93
94 // (potentially) bound surfaces
95 m_coneSurfacesCnv .setPStorage( &storage->m_boundSurfaces );
96 m_cylSurfacesCnv .setPStorage( &storage->m_boundSurfaces );
97 m_discSurfacesCnv .setPStorage( &storage->m_boundSurfaces );
98 m_planeSurfacesCnv .setPStorage( &storage->m_boundSurfaces );
99 m_lineSurfacesCnv .setPStorage( &storage->m_boundSurfaces );
100 m_saggedLineSurfacesCnv .setPStorage( &storage->m_boundSurfaces );
101
102 // Bound
103 m_coneBoundsCnv .setPStorage( &storage->m_coneBounds );
104 m_cylinderBoundsCnv .setPStorage( &storage->m_cylinderBounds );
105 m_diamondBoundsCnv .setPStorage( &storage->m_diamondBounds );
106 m_rotatedDiamondBoundsCnv .setPStorage( &storage->m_rotatedDiamondBounds );
107 m_discBoundsCnv .setPStorage( &storage->m_discBounds );
108 m_rectangleBoundsCnv .setPStorage( &storage->m_rectangleBounds );
109 m_trapesoidBoundsCnv .setPStorage( &storage->m_trapesoidBounds );
111 m_ellipseBoundsCnv .setPStorage( &storage->m_ellipseBounds );
112
118
123
124 // when reading (createTrans) these will be non-null if extension is present
125 // when writing, they will be null at first end set afterwards in createPersistentWithKey()
126 if( storage->m_inDetTrackExt ) m_inDetTrackCnv .setPStorage( storage->m_inDetTrackExt.get() );
127 if( storage->m_muonMeasurementsExt ) m_muonMeasurementsCnv.setPStorage( storage->m_muonMeasurementsExt.get() );
128 if( storage->m_muonCaloEnergiesExt ) m_muonCaloEnergiesCnv.setPStorage( storage->m_muonCaloEnergiesExt.get() );
129}
130
131
134 const std::string& key,
135 MsgStream &log)
136{
138
139 // get extending objects (nullptr if there was no extending data types)
140 pers->m_muonMeasurementsExt.reset( m_muonMeasurementsCnv.releaseTLPersObject() );
141 pers->m_inDetTrackExt.reset( m_inDetTrackCnv.releaseTLPersObject() );
142 pers->m_muonCaloEnergiesExt.reset( m_muonCaloEnergiesCnv.releaseTLPersObject() );
143
144 return pers;
145}
virtual Trk::TrackCollection_tlp7 * createPersistentWithKey(const TRANS *transObj, const std::string &key, MsgStream &log)
CompetingRIOsOnTrackCnv_p1 m_crotCnv
PerigeeSurfaceCnv_p2 m_perigeeSurfacesCnv
PseudoMeasurementOnTrackCnv_p2 m_pseudoMeasurementOnTrackCnv
MuonCaloEnergyContainerCnv_tlp1 m_muonCaloEnergiesCnv
TrackParametersCnv_p2 m_parametersCnv
BoundPlaneSurfaceCnv_p2 m_planeSurfacesCnv
LocalPositionCnv_p1 m_localPositionsCnv
TrapezoidBoundsCnv_p1 m_trapesoidBoundsCnv
LocalParametersCnv_p1 m_localParametersCnv
RotatedDiamondBoundsCnv_p1 m_rotatedDiamondBoundsCnv
MuonMeasurementsCnv_tlp2 m_muonMeasurementsCnv
MultiComponentStateOnSurfaceCnv_p1 m_multiTrackStatesCnv
virtual void setPStorage(PERS *storage) override
TrackStateOnSurfaceCnv_p3 m_trackStatesCnv
CylinderBoundsCnv_p1 m_cylinderBoundsCnv
RectangleBoundsCnv_p1 m_rectangleBoundsCnv
BoundStraightLineSurfaceCnv_p2 m_lineSurfacesCnv
MaterialEffectsOnTrackCnv_p2 m_materialEffectsCnv
BoundCylinderSurfaceCnv_p2 m_cylSurfacesCnv
DiamondBoundsCnv_p1 m_diamondBoundsCnv
LocalDirectionCnv_p1 m_localDirectionsCnv
virtual PERS * createPersistentWithKey(const TRANS *transObj, const std::string &key, MsgStream &log) override
EllipseBoundsCnv_p1 m_ellipseBoundsCnv
RotatedTrapezoidBoundsCnv_p1 m_rotatedTrapesoidBoundsCnv
MaterialEffectsBaseCnv_p2 m_matEffectsBaseCnv
EstimatedBremOnTrackCnv_p1 m_estimatedBremCnv
BoundSaggedLineSurfaceCnv_p2 m_saggedLineSurfacesCnv
BoundDiscSurfaceCnv_p2 m_discSurfacesCnv
VertexOnTrackCnv_p1 m_vertexOnTrackCnv
BoundConeSurfaceCnv_p2 m_coneSurfacesCnv
std::vector< Trk::MaterialEffectsBase_p1 > m_matEffectsBases
std::unique_ptr< InDet::Track_tlp2 > m_inDetTrackExt
std::vector< Trk::LocalDirection_p1 > m_localDirections
std::unique_ptr< MuonCaloEnergyContainer_tlp1 > m_muonCaloEnergiesExt
std::vector< Trk::FitQuality_p1 > m_fitQualities
std::vector< Trk::DiamondBounds_p1 > m_diamondBounds
std::vector< Trk::EstimatedBremOnTrack_p1 > m_estimatedBrems
std::vector< Trk::CylinderBounds_p1 > m_cylinderBounds
std::vector< Trk::VertexOnTrack_p1 > m_vertexOnTrack
std::vector< Trk::PseudoMeasurementOnTrack_p2 > m_pseudoMeasurementOnTrack
std::vector< Trk::TrackParameters_p2 > m_parameters
std::vector< Trk::LocalParameters_p1 > m_localParameters
std::vector< Trk::CompetingRIOsOnTrack_p1 > m_competingRotsOnTrack
std::vector< Trk::EllipseBounds_p1 > m_ellipseBounds
std::unique_ptr< TPCnv::MuonMeasurements_tlp2 > m_muonMeasurementsExt
std::vector< Trk::RotatedDiamondBounds_p1 > m_rotatedDiamondBounds
std::vector< Trk::ConeBounds_p1 > m_coneBounds
std::vector< Trk::TrapezoidBounds_p1 > m_trapesoidBounds
std::vector< Trk::DiscBounds_p1 > m_discBounds
std::vector< Trk::MaterialEffectsOnTrack_p2 > m_materialEffects
std::vector< Trk::TrackCollection_p1 > m_trackCollections
std::vector< Trk::LocalPosition_p1 > m_localPositions
std::vector< Trk::BoundSurface_p2 > m_boundSurfaces
std::vector< Trk::Surface_p2 > m_surfaces
std::vector< Trk::TrackStateOnSurface_p3 > m_trackStates
std::vector< Trk::RectangleBounds_p1 > m_rectangleBounds
std::vector< Trk::EnergyLoss_p1 > m_energyLosses
std::vector< Trk::Track_p4 > m_tracks
std::vector< Trk::HepSymMatrix_p1 > m_hepSymMatrices
std::vector< Trk::RotatedTrapezoidBounds_p1 > m_rotatedTrapesoidBounds