ATLAS Offline Software
Loading...
Searching...
No Matches
TrigInDetTrackFitParCnv_p1.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
7
8void TrigInDetTrackFitParCnv_p1 :: persToTrans( const TrigInDetTrackFitPar_p1 *persObj,
9 TrigInDetTrackFitPar *transObj,
10 MsgStream& log )
11{
12
13 log << MSG::DEBUG << "TrigInDetTrackFitParCnv_p1::persToTrans" << endmsg;
14
15
16 *transObj = TrigInDetTrackFitPar (persObj->m_a0,
17 persObj->m_phi0,
18 persObj->m_z0,
19 persObj->m_eta,
20 persObj->m_pT,
21 persObj->m_ea0,
22 persObj->m_ephi0,
23 persObj->m_ez0,
24 persObj->m_eeta,
25 persObj->m_epT,
27 persObj->m_surfaceCoordinate,
28 new std::vector<double> (*persObj->m_cov));
29}
30
31void TrigInDetTrackFitParCnv_p1 :: transToPers( const TrigInDetTrackFitPar *transObj,
33 MsgStream& log )
34{
35
36 log << MSG::DEBUG << "TrigInDetTrackFitParCnv_p1::transToPers" << endmsg;
37
38 persObj->m_a0 = transObj->a0() ;
39 persObj->m_phi0 = transObj->phi0() ;
40 persObj->m_z0 = transObj->z0() ;
41 persObj->m_eta = transObj->eta() ;
42 persObj->m_pT = transObj->pT() ;
43 persObj->m_ea0 = transObj->ea0() ;
44 persObj->m_ephi0 = transObj->ephi0() ;
45 persObj->m_ez0 = transObj->ez0() ;
46 persObj->m_eeta = transObj->eeta() ;
47 persObj->m_epT = transObj->epT() ;
48
49 persObj->m_surfaceType = transObj->surfaceType();
50 persObj->m_surfaceCoordinate = transObj->surfaceCoordinate();
51
52 if(transObj->cov()){
53 if (!persObj->m_cov){
54 persObj->m_cov = &persObj->m_covtmp;
55 }
56 *persObj->m_cov = *transObj->cov();
57 }
58}
59
60
61
63 : m_a0 (p.m_a0),
64 m_phi0 (p.m_phi0),
65 m_z0 (p.m_z0),
66 m_eta (p.m_eta),
67 m_pT (p.m_pT),
68 m_ea0 (p.m_ea0),
69 m_ephi0 (p.m_ephi0),
70 m_ez0 (p.m_ez0),
71 m_eeta (p.m_eeta),
72 m_epT (p.m_epT),
73 m_cov (p.m_cov),
77{
78 if (m_cov == &p.m_covtmp)
79 m_cov = &m_covtmp;
80}
81
82
84{
85 if (this != &p) {
86 m_a0 = p.m_a0;
87 m_phi0 = p.m_phi0;
88 m_z0 = p.m_z0;
89 m_eta = p.m_eta;
90 m_pT = p.m_pT;
91 m_ea0 = p.m_ea0;
92 m_ephi0 = p.m_ephi0;
93 m_ez0 = p.m_ez0;
94 m_eeta = p.m_eeta;
95 m_epT = p.m_epT;
96 m_cov = p.m_cov;
97 m_surfaceType = p.m_surfaceType;
98 m_surfaceCoordinate = p.m_surfaceCoordinate;
99 m_covtmp = p.m_covtmp;
100
101 if (m_cov == &p.m_covtmp)
102 m_cov = &m_covtmp;
103 }
104 return *this;
105}
#define endmsg
TrigInDetTrackFitPar_p1 & operator=(const TrigInDetTrackFitPar_p1 &p)
std::vector< double > * m_cov
std::vector< double > m_covtmp
encapsulates LVL2 track parameters and covariance matrix The vector of track parameters consists of
void surfaceCoordinate(double c)
Setter: surface reference coordinate for non-perigee surfaces.
void eta(const double eta)
Setter: pseudorapidity.
void z0(const double z0)
Setter: longitudinal impact parameter.
double ea0() const
variance of transverse impact parameter
void phi0(const double phi0)
Setter: azimuthal angle of the momentum.
void a0(const double a0)
Setter: transverse impact parameter.
double eeta() const
variance of pseudorapidity
void surfaceType(TrigSurfaceType s)
Setter: surface type PERIGEE=0, BARREL=1, ENDCAP=2.
double ez0() const
variance of longitudinal impact parameter
void cov(const std::vector< double > *cov)
Setter: covariance matrix of track parameters.
double ephi0() const
variance of azimuthal angle of the momentum
double epT() const
variance of transverse momentum
void pT(const double pT)
Setter: transverse momentum.