ATLAS Offline Software
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)
72 
73 }
74 
75 
77 {
78  setMainCnvPStorage( &storage->m_trackCollections );
79 
80 // for all converters defined in this top level converter
81  m_tracksCnv. setPStorage( &storage->m_tracks );
82  m_trackStatesCnv. setPStorage( &storage->m_trackStates );
83  m_multiTrackStatesCnv. setPStorage( &storage->m_trackStates );
84 
85  m_pseudoMeasurementOnTrackCnv.setPStorage( &storage->m_pseudoMeasurementOnTrack );
86  m_crotCnv. setPStorage( &storage->m_competingRotsOnTrack );
87  m_vertexOnTrackCnv. setPStorage( &storage->m_vertexOnTrack );
88 
89  m_parametersCnv. setPStorage( &storage->m_parameters );
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 );
110  m_rotatedTrapesoidBoundsCnv.setPStorage( &storage->m_rotatedTrapesoidBounds );
111  m_ellipseBoundsCnv .setPStorage( &storage->m_ellipseBounds );
112 
113  m_errorMatricesCnv. setPStorage( &storage->m_hepSymMatrices );
114  m_matEffectsBaseCnv. setPStorage( &storage->m_matEffectsBases );
115  m_energyLossCnv. setPStorage( &storage->m_energyLosses );
116  m_materialEffectsCnv. setPStorage( &storage->m_materialEffects );
117  m_estimatedBremCnv. setPStorage( &storage->m_estimatedBrems );
118 
119  m_fitQualitiesCnv. setPStorage( &storage->m_fitQualities );
120  m_localDirectionsCnv. setPStorage( &storage->m_localDirections );
121  m_localPositionsCnv. setPStorage( &storage->m_localPositions );
122  m_localParametersCnv. setPStorage( &storage->m_localParameters );
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 }
MuonCaloEnergyContainerCnv_tlp1::setPStorage
virtual void setPStorage(MuonCaloEnergyContainer_tlp1 *storage)
Definition: MuonCaloEnergyContainerCnv_tlp1.cxx:20
TopLevelTPConverter::PERS
TL_PERS PERS
Definition: TopLevelTPConverter.h:38
TrackCollectionCnv_tlp7::m_muonCaloEnergiesCnv
MuonCaloEnergyContainerCnv_tlp1 m_muonCaloEnergiesCnv
Definition: TrackCollectionCnv_tlp7.h:108
TrackCollectionCnv_tlp7::m_fitQualitiesCnv
FitQualityCnv_p1 m_fitQualitiesCnv
Definition: TrackCollectionCnv_tlp7.h:95
TPAbstractPolyCnvBase::setPStorage
void setPStorage(std::vector< PERS > *storage)
Tell this converter which storage vector it should use to store or retrieve persistent representation...
Definition: TPConverter.h:551
TrackCollectionCnv_tlp7::m_localParametersCnv
LocalParametersCnv_p1 m_localParametersCnv
Definition: TrackCollectionCnv_tlp7.h:103
TrackCollectionCnv_tlp7::m_errorMatricesCnv
ErrorMatrixCnv_p1 m_errorMatricesCnv
Definition: TrackCollectionCnv_tlp7.h:69
TrackCollectionCnv_tlp7::m_lineSurfacesCnv
BoundStraightLineSurfaceCnv_p2 m_lineSurfacesCnv
Definition: TrackCollectionCnv_tlp7.h:82
TrackCollectionCnv_tlp7::m_rectangleBoundsCnv
RectangleBoundsCnv_p1 m_rectangleBoundsCnv
Definition: TrackCollectionCnv_tlp7.h:90
TrackCollectionCnv_tlp7::m_discSurfacesCnv
BoundDiscSurfaceCnv_p2 m_discSurfacesCnv
Definition: TrackCollectionCnv_tlp7.h:80
TopLevelTPConverter::createPersistentWithKey
virtual TL_PERS * createPersistentWithKey(const TRANS *transObj, const std::string &key, MsgStream &log)
Create persistent representation of transObj.
Definition: TopLevelTPConverter.h:129
TrackCollectionCnv_tlp7::m_diamondBoundsCnv
DiamondBoundsCnv_p1 m_diamondBoundsCnv
Definition: TrackCollectionCnv_tlp7.h:87
TrackCollectionCnv_tlp7::setPStorage
virtual void setPStorage(PERS *storage) override
A stub for a method that should be provided by the converter creator.
Definition: TrackCollectionCnv_tlp7.cxx:76
TopLevelTPConverter::addMainTPConverter
void addMainTPConverter()
Add the main TP converter to the internal list - should be called from user-defined constructor.
Definition: TopLevelTPConverter.h:146
TopLevelTPConverter::TRANS
MAIN_CNV::Trans_t TRANS
Definition: TopLevelTPConverter.h:37
TrackCollectionCnv_tlp7::m_estimatedBremCnv
EstimatedBremOnTrackCnv_p1 m_estimatedBremCnv
Definition: TrackCollectionCnv_tlp7.h:99
TrackCollectionCnv_tlp7::m_vertexOnTrackCnv
VertexOnTrackCnv_p1 m_vertexOnTrackCnv
Definition: TrackCollectionCnv_tlp7.h:72
TrackCollectionCnv_tlp7.h
TopLevelTPCnvBase::addTPConverter
virtual void addTPConverter(ITPConverter *cnv)
Add a TP converter to this top level converter.
Definition: TopLevelTPCnvBase.cxx:11
TrackCollectionCnv_tlp7::m_saggedLineSurfacesCnv
BoundSaggedLineSurfaceCnv_p2 m_saggedLineSurfacesCnv
Definition: TrackCollectionCnv_tlp7.h:83
TrackCollectionCnv_tlp7::m_coneBoundsCnv
ConeBoundsCnv_p1 m_coneBoundsCnv
Definition: TrackCollectionCnv_tlp7.h:85
TrackCollectionCnv_tlp7::m_coneSurfacesCnv
BoundConeSurfaceCnv_p2 m_coneSurfacesCnv
Definition: TrackCollectionCnv_tlp7.h:78
TrackCollectionCnv_tlp7::m_pseudoMeasurementOnTrackCnv
PseudoMeasurementOnTrackCnv_p2 m_pseudoMeasurementOnTrackCnv
Definition: TrackCollectionCnv_tlp7.h:71
MuonMeasurementsCnv_tlp2::setPStorage
virtual void setPStorage(TPCnv::MuonMeasurements_tlp2 *storage)
Definition: MuonMeasurementsCnv_tlp2.cxx:23
TrackCollectionCnv_tlp7::m_rotatedDiamondBoundsCnv
RotatedDiamondBoundsCnv_p1 m_rotatedDiamondBoundsCnv
Definition: TrackCollectionCnv_tlp7.h:88
TrackCollectionCnv_tlp7::m_crotCnv
CompetingRIOsOnTrackCnv_p1 m_crotCnv
Definition: TrackCollectionCnv_tlp7.h:73
TrackCollectionCnv_tlp7::createPersistentWithKey
virtual PERS * createPersistentWithKey(const TRANS *transObj, const std::string &key, MsgStream &log) override
Create persistent representation of transObj.
Definition: TrackCollectionCnv_tlp7.cxx:133
TrackCollectionCnv_tlp7::m_matEffectsBaseCnv
MaterialEffectsBaseCnv_p2 m_matEffectsBaseCnv
Definition: TrackCollectionCnv_tlp7.h:96
TrackCollectionCnv_tlp7::m_materialEffectsCnv
MaterialEffectsOnTrackCnv_p2 m_materialEffectsCnv
Definition: TrackCollectionCnv_tlp7.h:98
InDetTrackCnv_tlp2::setPStorage
virtual void setPStorage(InDet::Track_tlp2 *storage)
Definition: InDetTrackCnv_tlp2.cxx:24
TrackCollectionCnv_tlp7::m_rotatedTrapesoidBoundsCnv
RotatedTrapezoidBoundsCnv_p1 m_rotatedTrapesoidBoundsCnv
Definition: TrackCollectionCnv_tlp7.h:92
TrackCollectionCnv_tlp7::m_planeSurfacesCnv
BoundPlaneSurfaceCnv_p2 m_planeSurfacesCnv
Definition: TrackCollectionCnv_tlp7.h:81
TrackCollectionCnv_tlp7::m_muonMeasurementsCnv
MuonMeasurementsCnv_tlp2 m_muonMeasurementsCnv
Definition: TrackCollectionCnv_tlp7.h:106
TrackCollectionCnv_tlp7::m_cylinderBoundsCnv
CylinderBoundsCnv_p1 m_cylinderBoundsCnv
Definition: TrackCollectionCnv_tlp7.h:86
TopLevelTPCnvBaseP::releaseTLPersObject
TL_PERS * releaseTLPersObject()
@release the persistent object from this converter
Definition: TopLevelTPCnvBaseP.h:82
TopLevelTPCnvBase::addTPConvertersTo
virtual void addTPConvertersTo(TopLevelTPCnvBase *dest)
copy all extending converters from this top level converter to "dest" top level converter
Definition: TopLevelTPCnvBase.cxx:60
TrackCollectionCnv_tlp7::m_inDetTrackCnv
InDetTrackCnv_tlp2 m_inDetTrackCnv
Definition: TrackCollectionCnv_tlp7.h:107
TrackCollectionCnv_tlp7::m_trapesoidBoundsCnv
TrapezoidBoundsCnv_p1 m_trapesoidBoundsCnv
Definition: TrackCollectionCnv_tlp7.h:91
TrackCollectionCnv_tlp7::m_trackStatesCnv
TrackStateOnSurfaceCnv_p3 m_trackStatesCnv
Definition: TrackCollectionCnv_tlp7.h:65
TrackCollectionCnv_tlp7::m_energyLossCnv
EnergyLossCnv_p1 m_energyLossCnv
Definition: TrackCollectionCnv_tlp7.h:97
TrackCollectionCnv_tlp7::m_localDirectionsCnv
LocalDirectionCnv_p1 m_localDirectionsCnv
Definition: TrackCollectionCnv_tlp7.h:101
TrackCollectionCnv_tlp7::m_discBoundsCnv
DiscBoundsCnv_p1 m_discBoundsCnv
Definition: TrackCollectionCnv_tlp7.h:89
TrackCollectionCnv_tlp7::m_cylSurfacesCnv
BoundCylinderSurfaceCnv_p2 m_cylSurfacesCnv
Definition: TrackCollectionCnv_tlp7.h:79
TrackCollectionCnv_tlp7::TrackCollectionCnv_tlp7
TrackCollectionCnv_tlp7()
Definition: TrackCollectionCnv_tlp7.cxx:13
TrackCollectionCnv_tlp7::m_parametersCnv
TrackParametersCnv_p2 m_parametersCnv
Definition: TrackCollectionCnv_tlp7.h:75
TrackCollectionCnv_tlp7::m_perigeeSurfacesCnv
PerigeeSurfaceCnv_p2 m_perigeeSurfacesCnv
Definition: TrackCollectionCnv_tlp7.h:77
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
TopLevelTPConverter::setMainCnvPStorage
void setMainCnvPStorage(STORAGE *storage)
Set the persistent storage space for the main TP converter.
Definition: TopLevelTPConverter.h:152
TrackCollectionCnv_tlp7::m_tracksCnv
TrackCnv_p4 m_tracksCnv
Definition: TrackCollectionCnv_tlp7.h:64
TrackCollectionCnv_tlp7::m_ellipseBoundsCnv
EllipseBoundsCnv_p1 m_ellipseBoundsCnv
Definition: TrackCollectionCnv_tlp7.h:93
TrackCollectionCnv_tlp7::m_localPositionsCnv
LocalPositionCnv_p1 m_localPositionsCnv
Definition: TrackCollectionCnv_tlp7.h:102
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
TrackCollectionCnv_tlp7::m_multiTrackStatesCnv
MultiComponentStateOnSurfaceCnv_p1 m_multiTrackStatesCnv
Definition: TrackCollectionCnv_tlp7.h:67