ATLAS Offline Software
Loading...
Searching...
No Matches
TgcPrepDataCnv_p3.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
5//-----------------------------------------------------------------------------
6//
7// file: TgcPrepDataCnv_p3.cxx
8//
9//-----------------------------------------------------------------------------
10
13
17 const Identifier& id,
18 const MuonGM::TgcReadoutElement* detEl,
19 MsgStream & )
20{
21 Amg::Vector2D localPos;
22 localPos[Trk::locX] = persObj->m_locX;
23 localPos[Trk::locY] = 0.0;
24
25 std::vector<Identifier> rdoList(1);
26 rdoList[0]=id;
27
28 auto cmat = Amg::MatrixX(1,1);
29 cmat(0,0) = static_cast<double>(persObj->m_errorMat);
30
32 0, // collectionHash
33 localPos,
34 std::move(rdoList),
35 std::move(cmat),
36 detEl,
37 persObj->m_bcBitMap);
38 return data;
39}
40
42persToTrans( const Muon::TgcPrepData_p3 *persObj, Muon::TgcPrepData *transObj,MsgStream & log )
43{
44 *transObj = createTgcPrepData (persObj,
45 transObj->identify(),
46 transObj->detectorElement(),
47 log);
48}
49
51transToPers( const Muon::TgcPrepData *transObj, Muon::TgcPrepData_p3 *persObj, MsgStream & )
52{
53 persObj->m_locX = transObj->localPosition().x();
54 persObj->m_errorMat = transObj->localCovariance()(0,0);
55 persObj->m_bcBitMap = transObj->getBcBitMap();
56}
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
A TgcReadoutElement corresponds to a single TGC chamber; therefore typically a TGC station contains s...
We don't write out (from Trk::PrepRawData) m_indexAndHash (can be recomputed), m_clusId (can be recom...
float m_errorMat
1-d ErrorMatrix in the base class.
uint16_t m_bcBitMap
BCID variable, 4:Previous, 2:Current, 1:Next.
float m_locX
Equivalent to localPosition (locX) in the base class.
Class to represent TGC measurements.
Definition TgcPrepData.h:32
uint16_t getBcBitMap() const
Returns the bcBitMap of this PRD bit2 for Previous BC, bit1 for Current BC, bit0 for Next BC.
virtual const MuonGM::TgcReadoutElement * detectorElement() const override final
Returns the detector element corresponding to this PRD The pointer will be zero if the det el is not ...
void transToPers(const Muon::TgcPrepData *transObj, Muon::TgcPrepData_p3 *persObj, MsgStream &log)
static Muon::TgcPrepData createTgcPrepData(const Muon::TgcPrepData_p3 *persObj, const Identifier &id, const MuonGM::TgcReadoutElement *detEl, MsgStream &log)
void persToTrans(const Muon::TgcPrepData_p3 *persObj, Muon::TgcPrepData *transObj, MsgStream &log)
const Amg::Vector2D & localPosition() const
return the local position reference
Identifier identify() const
return the identifier
const Amg::MatrixX & localCovariance() const
return const ref to the error matrix
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Eigen::Matrix< double, 2, 1 > Vector2D
@ locY
local cartesian
Definition ParamDefs.h:38
@ locX
Definition ParamDefs.h:37