ATLAS Offline Software
Loading...
Searching...
No Matches
TrigMuonEFInfoCnv_p4.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
8
9
11 TrigMuonEFInfo* transObj,
12 MsgStream &log)
13{
14 log << MSG::DEBUG << "TrigMuonEFInfoCnv_p4::persToTrans called " << endmsg;
15 std::unique_ptr<TrigMuonEFInfoTrackContainer> tracks
17 std::unique_ptr<TrigMuonEFTrack> spectrometerTrack
19 std::unique_ptr<TrigMuonEFTrack> extrapolatedTrack
21 std::unique_ptr<TrigMuonEFCbTrack> combinedTrack
23
24 *transObj = TrigMuonEFInfo (persObj->m_roi,
25 std::move (tracks),
26 std::move (spectrometerTrack),
27 std::move (extrapolatedTrack),
28 std::move (combinedTrack));
29 transObj->setNSegments (persObj->m_nSegments);
30 transObj->setNMdtHits (persObj->m_nMdtHits);
31 transObj->setNRpcHits (persObj->m_nRpcHits);
32 transObj->setNTgcHits (persObj->m_nTgcHits);
33 transObj->setNCscHits (persObj->m_nCscHits);
34
35 transObj->setEtaPreviousLevel (persObj->m_etaPreviousLevel);
36 transObj->setPhiPreviousLevel (persObj->m_phiPreviousLevel);
37}
38
39
41 TrigMuonEFInfo_p4* persObj,
42 MsgStream &log)
43{
44 log << MSG::DEBUG << "TrigMuonEFInfoCnv_p3::transToPers called " << endmsg;
45
46 persObj->m_roi = transObj->RoINum();
47 persObj->m_nSegments = transObj->NSegments();
48 persObj->m_nMdtHits = transObj->NMdtHits();
49 persObj->m_nRpcHits = transObj->NRpcHits();
50 persObj->m_nTgcHits = transObj->NTgcHits();
51 persObj->m_nCscHits = transObj->NCscHits();
52 persObj->m_etaPreviousLevel = transObj->EtaPreviousLevel();
53 persObj->m_phiPreviousLevel = transObj->PhiPreviousLevel();
54
55 // check for legacy
56 if (transObj->hasLegacyTrack()) {
57 log << MSG::DEBUG << "TrigMuonEFInfoCnv_p3::transToPers: has legacy track " << endmsg;
58 // has a legacy track.
59 // this situation occurs if old BS files are read.
60 // make a tmp track container to safeguard const correctness of transObj.
63 TrigMuonEFTrack * tmpSpecTrack = new TrigMuonEFTrack( *(transObj->legacySpectrometerTrack() ));
64 tmpTrack->setSpectrometerTrack( tmpSpecTrack );
65 TrigMuonEFTrack * tmpExtrTrack = new TrigMuonEFTrack( *(transObj->legacyExtrapolatedTrack() ));
66 tmpTrack->setExtrapolatedTrack( tmpExtrTrack );
67 TrigMuonEFCbTrack * tmpCbTrack = new TrigMuonEFCbTrack( *(transObj->legacyCombinedTrack() ));
68 tmpTrack->setCombinedTrack( tmpCbTrack );
69 tmpTrkCont->push_back( tmpTrack );
70
71 // persistify the tmp track container
72 persObj->m_trackContainer = toPersistent( &m_trackContainerCnv, tmpTrkCont, log);
73
74 // clean up
75 delete tmpTrkCont;
76 delete tmpTrack;
77 delete tmpSpecTrack;
78 delete tmpExtrTrack;
79 delete tmpCbTrack;
80 }
81 else {
83 }
84
85}
#define endmsg
value_type push_back(value_type pElem)
Add an element to the end of the collection.
CNV::Trans_t * createTransFromPStore(CNV **cnv, const TPObjRef &ref, MsgStream &log) const
TPObjRef toPersistent(CNV **cnv, const typename CNV::TransBase_t *transObj, MsgStream &log) const
ITPConverterFor< TrigMuonEFInfoTrackContainer > * m_trackContainerCnv
ITPConverterFor< TrigMuonEFCbTrack > * m_cbTrackCnv
virtual void transToPers(const TrigMuonEFInfo *transObj, TrigMuonEFInfo_p4 *persObj, MsgStream &log)
virtual void persToTrans(const TrigMuonEFInfo_p4 *persObj, TrigMuonEFInfo *transObj, MsgStream &log)
ITPConverterFor< TrigMuonEFTrack > * m_trackCnv
void setExtrapolatedTrack(TrigMuonEFTrack *track)
void setSpectrometerTrack(TrigMuonEFTrack *track)
void setCombinedTrack(TrigMuonEFCbTrack *track)
unsigned short int m_nTgcHits
unsigned short int m_nCscHits
unsigned short int m_nMdtHits
unsigned short int m_roi
unsigned short int m_nRpcHits
unsigned short int m_nSegments
void setNMdtHits(unsigned short int theNMdtHits)
unsigned short int NTgcHits() const
void setNRpcHits(unsigned short int theNRpcHits)
unsigned short int NCscHits() const
unsigned short int NMdtHits() const
bool hasLegacyTrack() const
unsigned short int NRpcHits() const
void setPhiPreviousLevel(double thePhiPreviousLevel)
void setNSegments(unsigned short int theNSegments)
unsigned short int RoINum() const
const TrigMuonEFInfoTrackContainer * TrackContainer() const
void setEtaPreviousLevel(double theEtaPreviousLevel)
const TrigMuonEFTrack * legacyExtrapolatedTrack() const
unsigned short int NSegments() const
void setNTgcHits(unsigned short int theNTgcHits)
double EtaPreviousLevel() const
const TrigMuonEFTrack * legacySpectrometerTrack() const
void setNCscHits(unsigned short int theNCscHits)
double PhiPreviousLevel() const
const TrigMuonEFCbTrack * legacyCombinedTrack() const