BOSS 7.0.6
BESIII Offline Software System
Loading...
Searching...
No Matches
MdcAliRecTrk Class Reference

#include <MdcAliRecTrk.h>

Public Member Functions

 ~MdcAliRecTrk ()
 
void setRecTrk (RecMdcTrackCol::iterator it_trk)
 
void setKalTrk (RecMdcKalTrackCol::iterator it_trk)
 
int getStat () const
 
double getDr () const
 
double getPhi0 () const
 
double getKappa () const
 
double getDz () const
 
double getTanLamda () const
 
HepVector getHelix () const
 
HepSymMatrix getHelixErr () const
 
double getPt () const
 
double getP () const
 
double getChisq () const
 
int getNHits () const
 
MdcAliRecHitgetRecHit (int index) const
 

Detailed Description

Definition at line 20 of file MdcAliRecTrk.h.

Constructor & Destructor Documentation

◆ ~MdcAliRecTrk()

MdcAliRecTrk::~MdcAliRecTrk ( )

Definition at line 13 of file MdcAliRecTrk.cxx.

13 {
14 unsigned int i;
15 for(i=0; i<m_rechit.size(); i++){
16 delete m_rechit[i];
17 }
18 m_rechit.clear();
19}

Member Function Documentation

◆ getChisq()

double MdcAliRecTrk::getChisq ( ) const
inline

Definition at line 36 of file MdcAliRecTrk.h.

36{ return m_chisq; }

◆ getDr()

double MdcAliRecTrk::getDr ( ) const
inline

Definition at line 27 of file MdcAliRecTrk.h.

27{ return m_dr; }

◆ getDz()

double MdcAliRecTrk::getDz ( ) const
inline

Definition at line 30 of file MdcAliRecTrk.h.

30{ return m_dz; }

◆ getHelix()

HepVector MdcAliRecTrk::getHelix ( ) const
inline

Definition at line 32 of file MdcAliRecTrk.h.

32{ return m_helix; }

Referenced by MilleAlign::fillHist().

◆ getHelixErr()

HepSymMatrix MdcAliRecTrk::getHelixErr ( ) const
inline

Definition at line 33 of file MdcAliRecTrk.h.

33{ return m_helixerr; }

Referenced by MilleAlign::fillHist().

◆ getKappa()

double MdcAliRecTrk::getKappa ( ) const
inline

Definition at line 29 of file MdcAliRecTrk.h.

29{ return m_kappa; }

◆ getNHits()

int MdcAliRecTrk::getNHits ( ) const
inline

Definition at line 37 of file MdcAliRecTrk.h.

37{ return m_nhits; }

Referenced by ResiAlign::fillHist().

◆ getP()

double MdcAliRecTrk::getP ( ) const
inline

Definition at line 35 of file MdcAliRecTrk.h.

35{ return m_p; }

◆ getPhi0()

double MdcAliRecTrk::getPhi0 ( ) const
inline

Definition at line 28 of file MdcAliRecTrk.h.

28{ return m_phi0; }

◆ getPt()

double MdcAliRecTrk::getPt ( ) const
inline

Definition at line 34 of file MdcAliRecTrk.h.

34{ return m_pt; }

◆ getRecHit()

MdcAliRecHit * MdcAliRecTrk::getRecHit ( int  index) const
inline

Definition at line 38 of file MdcAliRecTrk.h.

38{ return m_rechit[index]; }

Referenced by ResiAlign::fillHist().

◆ getStat()

int MdcAliRecTrk::getStat ( ) const
inline

Definition at line 26 of file MdcAliRecTrk.h.

26{return m_stat;}

Referenced by MilleAlign::fillHist(), and ResiAlign::fillHist().

◆ getTanLamda()

double MdcAliRecTrk::getTanLamda ( ) const
inline

Definition at line 31 of file MdcAliRecTrk.h.

31{ return m_tanl; }

◆ setKalTrk()

void MdcAliRecTrk::setKalTrk ( RecMdcKalTrackCol::iterator  it_trk)

Definition at line 61 of file MdcAliRecTrk.cxx.

61 {
62 IMessageSvc *msgSvc;
63 Gaudi::svcLocator()->service("MessageSvc", msgSvc);
64 MsgStream log(msgSvc, "MdcAliRecTrk");
65 log << MSG::DEBUG << "MdcAliRecTrk::setKalTrk()" << endreq;
66
67 int m_pid = 1;
71
72 m_stat = 0;
73 m_dr = (*it_trk)->dr();
74 m_phi0 = (*it_trk)->fi0();
75 m_kappa = (*it_trk)->kappa();
76 m_dz = (*it_trk)->dz();
77 m_tanl = (*it_trk)->tanl();
78 m_chisq = (*it_trk)->chi2();
79
80 m_dr *= 10.0; // cm -> mm
81 m_dz *= 10.0; // cm -> mm
82
83 m_pt = 1.0 / fabs(m_kappa);
84 m_p = m_pt * sqrt( m_tanl * m_tanl + 1.0 );
85
86 HelixSegRefVec gothelixsegs = (*it_trk)->getVecHelixSegs();
87 HelixSegRefVec::iterator it_hit = gothelixsegs.begin();
88 MdcAliRecHit* rechit;
89
90 int k = 0;
91 for(; it_hit != gothelixsegs.end(); it_hit++){
92 rechit = new MdcAliRecHit();
93 rechit->setKalHit(it_hit);
94 m_rechit.push_back(rechit);
95
96 k++;
97 }
98 m_nhits = k;
99}
SmartRefVector< RecMdcKalHelixSeg > HelixSegRefVec
IMessageSvc * msgSvc()
static void setPidType(PidType pidType)
void setKalHit(HelixSegRefVec::iterator it_hit)

◆ setRecTrk()

void MdcAliRecTrk::setRecTrk ( RecMdcTrackCol::iterator  it_trk)

Definition at line 21 of file MdcAliRecTrk.cxx.

21 {
22 IMessageSvc *msgSvc;
23 Gaudi::svcLocator()->service("MessageSvc", msgSvc);
24 MsgStream log(msgSvc, "MdcAliRecTrk");
25 log << MSG::DEBUG << "MdcAliRecTrk::setRecTrk()" << endreq;
26
27 m_stat = (*it_trk)->stat();
28 m_dr = (*it_trk) -> helix(0);
29 m_phi0 = (*it_trk) -> helix(1);
30 m_kappa = (*it_trk) -> helix(2);
31 m_dz = (*it_trk) -> helix(3);
32 m_tanl = (*it_trk) -> helix(4);
33
34 m_helix = (*it_trk)->helix();
35 m_helixerr = (*it_trk)->err();
36
37 m_chisq = (*it_trk) -> chi2();
38 m_nhits = (*it_trk) -> getNhits();
39
40 m_dr *= m_df; // cm -> mm
41 m_dz *= m_df; // cm -> mm
42
43 if(m_kappa < 0.01){ // no magnetic field
44 m_pt = 0.0;
45 m_p = 0.0;
46 }else{
47 m_pt = 1.0 / m_kappa;
48 m_p = m_pt * sqrt(m_tanl * m_tanl + 1.0);
49 }
50
51 HitRefVec gothits = (*it_trk) -> getVecHits();
52 HitRefVec::iterator it_hit = gothits.begin();
53 MdcAliRecHit* rechit;
54 for(; it_hit != gothits.end(); it_hit++){
55 rechit = new MdcAliRecHit();
56 rechit->setRecHit(it_hit);
57 m_rechit.push_back(rechit);
58 }
59}
SmartRefVector< RecMdcHit > HitRefVec
Definition: RecMdcTrack.h:22
void setRecHit(HitRefVec::iterator it_hit)

The documentation for this class was generated from the following files: