ATLAS Offline Software
Loading...
Searching...
No Matches
TrackCollectionCnv_tlp6.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7/*
8 Converter for TrackCollection v TLP6.
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
47
52
53 // adding extending TLP converters,
54 // they don't interfere with the order of adding regular converters (above)
55 m_muonMeasurementsCnv.addTPConvertersTo( this );
56 m_inDetTrackCnv .addTPConvertersTo( this );
57 m_muonCaloEnergiesCnv.addTPConvertersTo( this );
58}
59
60
62{
64
65// for all converters defined in this top level converter
66 m_tracksCnv. setPStorage( &storage->m_tracks );
68
70
74
76
77 m_coneSurfacesCnv .setPStorage( &storage->m_surfaces );
78 m_cylSurfacesCnv .setPStorage( &storage->m_surfaces );
79 m_discSurfacesCnv .setPStorage( &storage->m_surfaces );
80 m_perigeeSurfacesCnv .setPStorage( &storage->m_surfaces );
81 m_planeSurfacesCnv .setPStorage( &storage->m_surfaces );
82 m_lineSurfacesCnv .setPStorage( &storage->m_surfaces );
83 m_saggedLineSurfacesCnv .setPStorage( &storage->m_surfaces );
84
89
94
95 // when reading (createTrans) these will be non-null if extension is present
96 // when writing, they will be null at first end set afterwards in createPersistentWithKey()
97 if( storage->m_inDetTrackExt ) m_inDetTrackCnv .setPStorage( storage->m_inDetTrackExt );
98 if( storage->m_muonMeasurementsExt ) m_muonMeasurementsCnv.setPStorage( storage->m_muonMeasurementsExt );
99 if( storage->m_muonCaloEnergiesExt ) m_muonCaloEnergiesCnv.setPStorage( storage->m_muonCaloEnergiesExt );
100}
101
102
105 const std::string& key,
106 MsgStream &log)
107{
109
110 // get extending objects (nullptr if there was no extending data types)
111 pers->m_muonMeasurementsExt = m_muonMeasurementsCnv.releaseTLPersObject();
112 pers->m_inDetTrackExt = m_inDetTrackCnv.releaseTLPersObject();
113 pers->m_muonCaloEnergiesExt = m_muonCaloEnergiesCnv.releaseTLPersObject();
114
115 return pers;
116}
virtual Trk::TrackCollection_tlp6 * createPersistentWithKey(const TRANS *transObj, const std::string &key, MsgStream &log)
MuonMeasurementsCnv_tlp2 m_muonMeasurementsCnv
virtual PERS * createPersistentWithKey(const TRANS *transObj, const std::string &key, MsgStream &log) override
CompetingRIOsOnTrackCnv_p1 m_crotCnv
PerigeeSurfaceCnv_p2 m_perigeeSurfacesCnv
TrackStateOnSurfaceCnv_p3 m_trackStatesCnv
EstimatedBremOnTrackCnv_p1 m_estimatedBremCnv
LocalPositionCnv_p1 m_localPositionsCnv
StraightLineSurfaceCnv_p2 m_lineSurfacesCnv
MaterialEffectsOnTrackCnv_p2 m_materialEffectsCnv
LocalDirectionCnv_p1 m_localDirectionsCnv
virtual void setPStorage(PERS *storage) override
SaggedLineSurfaceCnv_p2 m_saggedLineSurfacesCnv
TrackParametersCnv_p2 m_parametersCnv
PseudoMeasurementOnTrackCnv_p2 m_pseudoMeasurementOnTrackCnv
VertexOnTrackCnv_p1 m_vertexOnTrackCnv
CylinderSurfaceCnv_p2 m_cylSurfacesCnv
MuonCaloEnergyContainerCnv_tlp1 m_muonCaloEnergiesCnv
LocalParametersCnv_p1 m_localParametersCnv
MaterialEffectsBaseCnv_p2 m_matEffectsBaseCnv
PlaneSurfaceCnv_p2 m_planeSurfacesCnv
std::vector< Trk::MaterialEffectsBase_p1 > m_matEffectsBases
std::vector< Trk::CompetingRIOsOnTrack_p1 > m_competingRotsOnTrack
MuonCaloEnergyContainer_tlp1 * m_muonCaloEnergiesExt
std::vector< Trk::PseudoMeasurementOnTrack_p2 > m_pseudoMeasurementOnTrack
std::vector< Trk::VertexOnTrack_p1 > m_vertexOnTrack
std::vector< Trk::EnergyLoss_p1 > m_energyLosses
std::vector< Trk::HepSymMatrix_p1 > m_hepSymMatrices
std::vector< Trk::TrackStateOnSurface_p3 > m_trackStates
std::vector< Trk::LocalDirection_p1 > m_localDirections
std::vector< Trk::LocalParameters_p1 > m_localParameters
std::vector< Trk::MaterialEffectsOnTrack_p2 > m_materialEffects
InDet::Track_tlp2 * m_inDetTrackExt
std::vector< Trk::LocalPosition_p1 > m_localPositions
std::vector< Trk::Surface_p2 > m_surfaces
std::vector< Trk::FitQuality_p1 > m_fitQualities
TPCnv::MuonMeasurements_tlp2 * m_muonMeasurementsExt
std::vector< Trk::TrackParameters_p2 > m_parameters
std::vector< Trk::EstimatedBremOnTrack_p1 > m_estimatedBrems
std::vector< Trk::TrackCollection_p1 > m_trackCollections
std::vector< Trk::Track_p4 > m_tracks