ATLAS Offline Software
Loading...
Searching...
No Matches
TrigInDetTrackCnv_p5.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//-----------------------------------------------------------------------------
10// Persistent to transient
11//-----------------------------------------------------------------------------
12void TrigInDetTrackCnv_p5::persToTrans( const TrigInDetTrack_p5 *persObj, TrigInDetTrack *transObj, MsgStream &log )
13{
14
15 // log << MSG::DEBUG << "TrigInDetTrackCnv_p5::persToTrans called " << endmsg;
16
17 transObj->algorithmId ((TrigInDetTrack::AlgoId) persObj->m_allIntegers[0]);
18 transObj->StrawHits (persObj->m_allIntegers[1]);
19 transObj->Straw (persObj->m_allIntegers[2]);
20 transObj->StrawTime (persObj->m_allIntegers[3]);
21 transObj->TRHits (persObj->m_allIntegers[4]);
22 transObj->NPixelSpacePoints (persObj->m_allIntegers[5]);
23 transObj->NSCT_SpacePoints (persObj->m_allIntegers[6]);
24 transObj->HitPattern (persObj->m_allIntegers[7]);
25
26 transObj->chi2 (persObj->m_chi2) ;
27
28 transObj->param (createTransFromPStore( &m_fpCnv, persObj->m_param, log ));
29 transObj->endParam (createTransFromPStore( &m_fpCnv, persObj->m_endParam, log ));
30
31 std::vector<Identifier> rdoList;
32 rdoList.resize( persObj->m_rdoList.size() );
33 std::copy( persObj->m_rdoList.begin(), persObj->m_rdoList.end(), rdoList.begin() );
34 transObj->rdoList (std::move(rdoList));
35}
36
37//-----------------------------------------------------------------------------
38// Transient to persistent
39//-----------------------------------------------------------------------------
40void TrigInDetTrackCnv_p5::transToPers( const TrigInDetTrack *transObj, TrigInDetTrack_p5 *persObj, MsgStream &log )
41{
42
43 // log << MSG::DEBUG << "TrigInDetTrackCnv_p5::transToPers called " << endmsg;
44 persObj->m_allIntegers[0]= transObj->algorithmId() ;
45 persObj->m_allIntegers[1]= transObj->NStrawHits() ;
46 persObj->m_allIntegers[2]= transObj->NStraw() ;
47 persObj->m_allIntegers[3]= transObj->NStrawTime() ;
48 persObj->m_allIntegers[4]= transObj->NTRHits() ;
49 persObj->m_allIntegers[5]= transObj->NPixelSpacePoints();
50 persObj->m_allIntegers[6]= transObj->NSCT_SpacePoints();
51 persObj->m_allIntegers[7]= transObj->HitPattern();
52
53 persObj->m_chi2 = transObj->chi2() ;
54
55 persObj->m_param = toPersistent( &m_fpCnv, transObj->param(), log );
56 persObj->m_endParam = toPersistent( &m_fpCnv, transObj->endParam(), log );
57
58 const std::vector<Identifier>& rdoList = transObj->rdoList();
59 persObj->m_rdoList.clear();
60 persObj->m_rdoList.reserve( rdoList.size() );
61 for (const Identifier& id : rdoList)
62 persObj->m_rdoList.push_back (id.get_compact());
63}
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
virtual void transToPers(const TrigInDetTrack *, TrigInDetTrack_p5 *, MsgStream &)
virtual void persToTrans(const TrigInDetTrack_p5 *, TrigInDetTrack *, MsgStream &)
ITPConverterFor< TrigInDetTrackFitPar > * m_fpCnv
std::vector< unsigned long long > m_rdoList
represents a LVL2 ID track
int NStrawTime() const
Number of TRT straws with valid drift time intersected by track.
void algorithmId(const AlgoId id)
void StrawTime(const int NSTime)
void TRHits(const int NTR)
void StrawHits(const int NSHits)
void HitPattern(const long hp)
Hit pattern setter method.
void NPixelSpacePoints(const int n)
int NTRHits() const
Number of high-threshold TRT hits associated with track.
void NSCT_SpacePoints(const int n)
void chi2(const double chi2)
int NStrawHits() const
Number of TRT hits associated with track.
void param(const TrigInDetTrackFitPar *param)
const std::vector< Identifier > & rdoList() const
RDOs associated with track.
int NStraw() const
Number of TRT straws intersected by track.
void Straw(const int NS)
void endParam(const TrigInDetTrackFitPar *param)