ATLAS Offline Software
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;
12  transObj->m_npseudoMeasurements = persObj->m_npseudoMeasurements;
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;
41  persObj->m_npseudoMeasurements = transObj->m_npseudoMeasurements;
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 }
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
Trk::MuonTrackSummary_p1::nEtacloseHits
std::vector< int > nEtacloseHits
Definition: MuonTrackSummary_p1.h:30
MuonTrackSummary.h
Trk::MuonTrackSummary::m_npseudoMeasurements
unsigned int m_npseudoMeasurements
Definition: MuonTrackSummary.h:156
Trk::MuonTrackSummary::ChamberHitSummary::m_second
Projection m_second
Definition: MuonTrackSummary.h:117
Trk::MuonTrackSummary_p1::nEtadeltas
std::vector< int > nEtadeltas
Definition: MuonTrackSummary_p1.h:29
Trk::MuonTrackSummary_p1::nPhideltas
std::vector< int > nPhideltas
Definition: MuonTrackSummary_p1.h:36
Trk::MuonTrackSummary::ChamberHitSummary::Projection::nhits
int nhits
Definition: MuonTrackSummary.h:40
Trk::MuonTrackSummary_p1::m_npseudoMeasurements
unsigned int m_npseudoMeasurements
Definition: MuonTrackSummary_p1.h:17
Trk::MuonTrackSummary::ChamberHitSummary::Projection::nholes
int nholes
Definition: MuonTrackSummary.h:41
Trk::MuonTrackSummary::ChamberHitSummary::Projection::ncloseHits
int ncloseHits
Definition: MuonTrackSummary.h:44
Trk::MuonTrackSummary::ChamberHitSummary
structure to hold information per chamber in the muon system
Definition: MuonTrackSummary.h:32
Trk::MuonTrackSummary::m_chamberHitSummary
std::vector< ChamberHitSummary > m_chamberHitSummary
Definition: MuonTrackSummary.h:157
Trk::MuonTrackSummary::m_nscatterers
unsigned int m_nscatterers
Definition: MuonTrackSummary.h:155
Trk::MuonTrackSummary::chamberHitSummary
const std::vector< ChamberHitSummary > & chamberHitSummary() const
access to the vector of chamber hit summaries on the track
Definition: MuonTrackSummary.h:148
Trk::MuonTrackSummary::ChamberHitSummary::m_first
Projection m_first
Definition: MuonTrackSummary.h:116
MuonTrackSummaryCnv_p1::persToTrans
virtual void persToTrans(const Trk ::MuonTrackSummary_p1 *persObj, Trk ::MuonTrackSummary *transObj, MsgStream &log)
Definition: MuonTrackSummaryCnv_p1.cxx:8
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
Trk::MuonTrackSummary_p1::nPhicloseHits
std::vector< int > nPhicloseHits
Definition: MuonTrackSummary_p1.h:37
Trk::MuonTrackSummary_p1::nEtahits
std::vector< int > nEtahits
Definition: MuonTrackSummary_p1.h:26
lumiFormat.i
int i
Definition: lumiFormat.py:92
MuonTrackSummaryCnv_p1::transToPers
virtual void transToPers(const Trk ::MuonTrackSummary *transObj, Trk ::MuonTrackSummary_p1 *persObj, MsgStream &log)
Definition: MuonTrackSummaryCnv_p1.cxx:37
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
MuonTrackSummaryCnv_p1.h
Trk::MuonTrackSummary::ChamberHitSummary::Projection::ndeltas
int ndeltas
Definition: MuonTrackSummary.h:43
Trk::MuonTrackSummary_p1::m_nscatterers
unsigned int m_nscatterers
Definition: MuonTrackSummary_p1.h:16
Trk::MuonTrackSummary::ChamberHitSummary::Projection::noutliers
int noutliers
Definition: MuonTrackSummary.h:42
Trk::MuonTrackSummary_p1::nPhihits
std::vector< int > nPhihits
Definition: MuonTrackSummary_p1.h:33
Trk::MuonTrackSummary
Detailed track summary for the muon system Give access to hit counts per chamber.
Definition: MuonTrackSummary.h:26
Trk::MuonTrackSummary_p1::m_chId
std::vector< unsigned int > m_chId
Definition: MuonTrackSummary_p1.h:20
Trk::MuonTrackSummary_p1::nEtaholes
std::vector< int > nEtaholes
Definition: MuonTrackSummary_p1.h:27
Trk::MuonTrackSummary_p1::nPhiholes
std::vector< int > nPhiholes
Definition: MuonTrackSummary_p1.h:34
Trk::MuonTrackSummary_p1::nEtaoutliers
std::vector< int > nEtaoutliers
Definition: MuonTrackSummary_p1.h:28
Trk::MuonTrackSummary_p1
Definition: MuonTrackSummary_p1.h:12
Trk::MuonTrackSummary_p1::nPhioutliers
std::vector< int > nPhioutliers
Definition: MuonTrackSummary_p1.h:35
Trk::MuonTrackSummary_p1::m_isMdt
std::vector< bool > m_isMdt
Definition: MuonTrackSummary_p1.h:21