ATLAS Offline Software
Loading...
Searching...
No Matches
MuonTrackSummaryCnv_p1.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
7
9 Trk::MuonTrackSummary *transObj, MsgStream &/*log*/ )
10{
11 transObj->m_nscatterers = persObj->m_nscatterers;
13
14 unsigned int size = persObj->m_chId.size();
15 transObj->m_chamberHitSummary.clear();
16 transObj->m_chamberHitSummary.reserve(size);
17 unsigned int i=0;
18 for ( ; i<size ; ++i ){
19 transObj->m_chamberHitSummary.emplace_back(Identifier(persObj->m_chId[i]), persObj->m_isMdt[i]);
20 Trk::MuonTrackSummary::ChamberHitSummary& chamb_summary = transObj->m_chamberHitSummary.back();
21
22 chamb_summary.m_first.nhits = persObj->nPhihits[i];
23 chamb_summary.m_first.nholes = persObj->nPhiholes[i];
24 chamb_summary.m_first.noutliers = persObj->nPhioutliers[i];
25 chamb_summary.m_first.ndeltas = persObj->nPhideltas[i];
26 chamb_summary.m_first.ncloseHits = persObj->nPhicloseHits[i];
27
28 chamb_summary.m_second.nhits = persObj->nEtahits[i];
29 chamb_summary.m_second.nholes = persObj->nEtaholes[i];
30 chamb_summary.m_second.noutliers = persObj->nEtaoutliers[i];
31 chamb_summary.m_second.ndeltas = persObj->nEtadeltas[i];
32 chamb_summary.m_second.ncloseHits = persObj->nEtacloseHits[i];
33 }
34}
35
36
38 Trk::MuonTrackSummary_p1 *persObj, MsgStream &/*log*/ )
39{
40 persObj->m_nscatterers = transObj->m_nscatterers;
42
43 unsigned int size = transObj->m_chamberHitSummary.size();
44
45 //resize vectors
46 persObj->m_chId.resize(size);
47 persObj->m_isMdt.resize(size,0);
48
49 persObj->nEtahits.resize(size);
50 persObj->nEtaholes.resize(size);
51 persObj->nEtaoutliers.resize(size);
52 persObj->nEtadeltas.resize(size);
53 persObj->nEtacloseHits.resize(size);
54
55 persObj->nPhihits.resize(size);
56 persObj->nPhiholes.resize(size);
57 persObj->nPhioutliers.resize(size);
58 persObj->nPhideltas.resize(size);
59 persObj->nPhicloseHits.resize(size);
60
61 unsigned int i=0;
63 transObj->chamberHitSummary())
64 {
65 persObj->m_chId[i] = s.chamberId().get_identifier32().get_compact();
66 persObj->m_isMdt[i] = s.isMdt() ;
67
68 persObj->nPhihits[i] = s.mdtMl1().nhits ;
69 persObj->nPhiholes[i] = s.mdtMl1().nholes ;
70 persObj->nPhioutliers[i] = s.mdtMl1().noutliers ;
71 persObj->nPhideltas[i] = s.mdtMl1().ndeltas ;
72 persObj->nPhicloseHits[i] = s.mdtMl1().ncloseHits ;
73
74 persObj->nEtahits[i] = s.mdtMl2().nhits ;
75 persObj->nEtaholes[i] = s.mdtMl2().nholes ;
76 persObj->nEtaoutliers[i] = s.mdtMl2().noutliers ;
77 persObj->nEtadeltas[i] = s.mdtMl2().ndeltas ;
78 persObj->nEtacloseHits[i] = s.mdtMl2().ncloseHits ;
79
80 ++i;
81 }
82}
virtual void persToTrans(const Trk ::MuonTrackSummary_p1 *persObj, Trk ::MuonTrackSummary *transObj, MsgStream &log)
virtual void transToPers(const Trk ::MuonTrackSummary *transObj, Trk ::MuonTrackSummary_p1 *persObj, MsgStream &log)
std::vector< int > nPhideltas
std::vector< int > nPhicloseHits
std::vector< int > nEtaoutliers
std::vector< int > nEtadeltas
std::vector< int > nPhioutliers
std::vector< bool > m_isMdt
std::vector< unsigned int > m_chId
std::vector< int > nEtacloseHits
Detailed track summary for the muon system Give access to hit counts per chamber.
std::vector< ChamberHitSummary > m_chamberHitSummary
unsigned int m_npseudoMeasurements
const std::vector< ChamberHitSummary > & chamberHitSummary() const
access to the vector of chamber hit summaries on the track
structure to hold information per chamber in the muon system