BOSS 8.0.0
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 19 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++ ) { delete m_rechit[i]; }
16 m_rechit.clear();
17}

Member Function Documentation

◆ getChisq()

double MdcAliRecTrk::getChisq ( ) const
inline

Definition at line 35 of file MdcAliRecTrk.h.

35{ return m_chisq; }

Referenced by ResiAlign::fillHist().

◆ getDr()

double MdcAliRecTrk::getDr ( ) const
inline

Definition at line 26 of file MdcAliRecTrk.h.

26{ return m_dr; }

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

◆ getDz()

double MdcAliRecTrk::getDz ( ) const
inline

Definition at line 29 of file MdcAliRecTrk.h.

29{ return m_dz; }

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

◆ getHelix()

HepVector MdcAliRecTrk::getHelix ( ) const
inline

Definition at line 31 of file MdcAliRecTrk.h.

31{ return m_helix; }

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

◆ getHelixErr()

HepSymMatrix MdcAliRecTrk::getHelixErr ( ) const
inline

Definition at line 32 of file MdcAliRecTrk.h.

32{ return m_helixerr; }

Referenced by MilleAlign::fillHist().

◆ getKappa()

double MdcAliRecTrk::getKappa ( ) const
inline

Definition at line 28 of file MdcAliRecTrk.h.

28{ return m_kappa; }

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

◆ getNHits()

int MdcAliRecTrk::getNHits ( ) const
inline

Definition at line 36 of file MdcAliRecTrk.h.

36{ return m_nhits; }

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

◆ getP()

double MdcAliRecTrk::getP ( ) const
inline

Definition at line 34 of file MdcAliRecTrk.h.

34{ return m_p; }

Referenced by ResiAlign::fillHist().

◆ getPhi0()

double MdcAliRecTrk::getPhi0 ( ) const
inline

Definition at line 27 of file MdcAliRecTrk.h.

27{ return m_phi0; }

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

◆ getPt()

double MdcAliRecTrk::getPt ( ) const
inline

Definition at line 33 of file MdcAliRecTrk.h.

33{ return m_pt; }

Referenced by ResiAlign::fillHist().

◆ getRecHit()

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

Definition at line 37 of file MdcAliRecTrk.h.

37{ return m_rechit[index]; }

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

◆ getStat()

int MdcAliRecTrk::getStat ( ) const
inline

Definition at line 25 of file MdcAliRecTrk.h.

25{ return m_stat; }

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

◆ getTanLamda()

double MdcAliRecTrk::getTanLamda ( ) const
inline

Definition at line 30 of file MdcAliRecTrk.h.

30{ return m_tanl; }

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

◆ setKalTrk()

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

Definition at line 63 of file MdcAliRecTrk.cxx.

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

Referenced by MdcAliEvent::setKalEvent().

◆ setRecTrk()

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

Definition at line 19 of file MdcAliRecTrk.cxx.

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

Referenced by MdcAliEvent::setRecEvent().


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