ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::VKTrack Class Reference

#include <TrkVKalVrtCoreBase.h>

Collaboration diagram for Trk::VKTrack:

Public Member Functions

 VKTrack (long int, const double[], const double[], VKVertex *, double)
 ~VKTrack ()=default
double getMass () const
void setMass (double M)
double a0 () const
double z () const
double theta () const
double phi () const
double invR () const
double r_a0 () const
double r_z () const
double r_theta () const
double r_phi () const
double r_invR () const
void setCurrent (const double[], const double[])
void setReference (const double[], const double[])
void restoreCurrentWgt ()

Public Attributes

long int Id
int Charge
double fitP [3] {}
double Chi2
double cnstP [3] {}
double iniP [3] {}
double Perig [5] {}
double WgtM [15] {}
double WgtM_save [15] {}
double rmnd [5] {}
double e [5] {}
double v [5][5] {}
double refPerig [5] {}
double refCovar [15] {}

Private Attributes

VKVertexm_originVertex
double m_mass

Friends

std::ostream & operator<< (std::ostream &out, const VKTrack &track)

Detailed Description

Definition at line 62 of file TrkVKalVrtCoreBase.h.

Constructor & Destructor Documentation

◆ VKTrack()

Trk::VKTrack::VKTrack ( long int iniId,
const double Perigee[],
const double Covariance[],
VKVertex * vk,
double m )

Definition at line 56 of file TrkVKalVrtCoreBase.cxx.

61 : Id(iniId)
62 , Charge(1)
63 , Chi2(0)
64 , m_mass(m)
65 {
66 if (Perigee[4] < 0)
67 Charge = -1;
68 for (int i = 0; i < 3; i++) {
69 fitP[i] = 0;
70 cnstP[i] = 0.;
71 iniP[i] = 0.;}
72 std::copy(Perigee, Perigee+5, Perig);
73 std::copy(Perigee, Perigee+5, refPerig);
74 for(int i=0; i<5; i++) { rmnd[i]=0;}
75 std::copy(Covariance, Covariance+15, refCovar);
76 m_originVertex = vk;
77 }
double refCovar[15]
VKVertex * m_originVertex
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee

◆ ~VKTrack()

Trk::VKTrack::~VKTrack ( )
default

Member Function Documentation

◆ a0()

double Trk::VKTrack::a0 ( ) const
inline

Definition at line 101 of file TrkVKalVrtCoreBase.h.

101{ return Perig[0];}

◆ getMass()

double Trk::VKTrack::getMass ( ) const
inline

Definition at line 99 of file TrkVKalVrtCoreBase.h.

99{return m_mass;}

◆ invR()

double Trk::VKTrack::invR ( ) const
inline

Definition at line 105 of file TrkVKalVrtCoreBase.h.

105{ return Perig[4];}

◆ phi()

double Trk::VKTrack::phi ( ) const
inline

Definition at line 104 of file TrkVKalVrtCoreBase.h.

104{ return Perig[3];}

◆ r_a0()

double Trk::VKTrack::r_a0 ( ) const
inline

Definition at line 106 of file TrkVKalVrtCoreBase.h.

106{ return refPerig[0];}

◆ r_invR()

double Trk::VKTrack::r_invR ( ) const
inline

Definition at line 110 of file TrkVKalVrtCoreBase.h.

110{ return refPerig[4];}

◆ r_phi()

double Trk::VKTrack::r_phi ( ) const
inline

Definition at line 109 of file TrkVKalVrtCoreBase.h.

109{ return refPerig[3];}

◆ r_theta()

double Trk::VKTrack::r_theta ( ) const
inline

Definition at line 108 of file TrkVKalVrtCoreBase.h.

108{ return refPerig[2];}

◆ r_z()

double Trk::VKTrack::r_z ( ) const
inline

Definition at line 107 of file TrkVKalVrtCoreBase.h.

107{ return refPerig[1];}

◆ restoreCurrentWgt()

void Trk::VKTrack::restoreCurrentWgt ( )

Definition at line 90 of file TrkVKalVrtCoreBase.cxx.

91 {
92 std::copy(WgtM_save, WgtM_save+15, WgtM);
93 }
double WgtM_save[15]

◆ setCurrent()

void Trk::VKTrack::setCurrent ( const double Perigee[],
const double Weight[] )

Definition at line 79 of file TrkVKalVrtCoreBase.cxx.

80 {
81 std::copy(Perigee, Perigee+5, Perig);
82 std::copy(Weight, Weight+15, WgtM);
83 std::copy(Weight, Weight+15, WgtM_save);
84 }

◆ setMass()

void Trk::VKTrack::setMass ( double M)
inline

Definition at line 100 of file TrkVKalVrtCoreBase.h.

100{ m_mass=M;}

◆ setReference()

void Trk::VKTrack::setReference ( const double Perigee[],
const double Covariance[] )

Definition at line 85 of file TrkVKalVrtCoreBase.cxx.

86 {
87 std::copy(Perigee, Perigee+5, refPerig);
88 std::copy(Covariance, Covariance+15, refCovar);
89 }

◆ theta()

double Trk::VKTrack::theta ( ) const
inline

Definition at line 103 of file TrkVKalVrtCoreBase.h.

103{ return Perig[2];}

◆ z()

double Trk::VKTrack::z ( ) const
inline

Definition at line 102 of file TrkVKalVrtCoreBase.h.

102{ return Perig[1];}

◆ operator<<

std::ostream & operator<< ( std::ostream & out,
const VKTrack & track )
friend

Definition at line 103 of file TrkVKalVrtCoreBase.cxx.

104 {
105 //out.setf( std::ios::defaultfloat ); out.precision(5); out << std::endl;
106 out.precision(5); out << std::defaultfloat;
107 out << " Track par: Iteration <-> Ref" << std::endl;
108 out << " * a_0 : "<< track.a0() <<" "<< track.r_a0() << std::endl;
109 out << " * z_0 : "<< track.z() <<" "<< track.r_z() << std::endl;
110 out << " * theta : "<< track.theta()<<" "<< track.r_theta()<< std::endl;
111 out << " * phi : "<< track.phi() <<" "<< track.r_phi() << std::endl;
112 out << " * q/R : "<< track.invR() <<" "<< track.r_invR() << std::endl;
113 out << " * Charge: "<< track.Charge <<" Mass: "<<track.m_mass<< std::endl;
114 out << "-> with ref ErrorMatrix: " << std::endl;out.precision(5);
115 out << track.refCovar[0] <<std::endl;
116 out << track.refCovar[1] <<", "<<track.refCovar[2] <<std::endl;
117 out << track.refCovar[3] <<", "<<track.refCovar[4] <<", "<<track.refCovar[5] <<std::endl;
118 out << track.refCovar[6] <<", "<<track.refCovar[7] <<", "<<track.refCovar[8] <<", "
119 << track.refCovar[9]<<std::endl;
120 out << track.refCovar[10]<<", "<<track.refCovar[11]<<", "<<track.refCovar[12]<<", "
121 << track.refCovar[13]<<", "<<track.refCovar[14]<<std::endl;
122 out << "-> and iteration WeightMatrix: " << std::endl;
123 out << track.WgtM[0] <<std::endl;
124 out << track.WgtM[1] <<", "<<track.WgtM[2] <<std::endl;
125 out << track.WgtM[3] <<", "<<track.WgtM[4] <<", "<<track.WgtM[5] <<std::endl;
126 out << track.WgtM[6] <<", "<<track.WgtM[7] <<", "<<track.WgtM[8] <<", "
127 << track.WgtM[9]<<std::endl;
128 out << track.WgtM[10]<<", "<<track.WgtM[11]<<", "<<track.WgtM[12]<<", "
129 << track.WgtM[13]<<", "<<track.WgtM[14]<<std::endl;
130 return out;
131 }

Member Data Documentation

◆ Charge

int Trk::VKTrack::Charge

Definition at line 72 of file TrkVKalVrtCoreBase.h.

◆ Chi2

double Trk::VKTrack::Chi2

Definition at line 76 of file TrkVKalVrtCoreBase.h.

◆ cnstP

double Trk::VKTrack::cnstP[3] {}

Definition at line 79 of file TrkVKalVrtCoreBase.h.

79{};

◆ e

double Trk::VKTrack::e[5] {}

Definition at line 91 of file TrkVKalVrtCoreBase.h.

91{}; //eigenvalues of weight matrix

◆ fitP

double Trk::VKTrack::fitP[3] {}

Definition at line 75 of file TrkVKalVrtCoreBase.h.

75{};

◆ Id

long int Trk::VKTrack::Id

Definition at line 71 of file TrkVKalVrtCoreBase.h.

◆ iniP

double Trk::VKTrack::iniP[3] {}

Definition at line 82 of file TrkVKalVrtCoreBase.h.

82{}; //perigee parameters assuming that track passes through iniXYZ

◆ m_mass

double Trk::VKTrack::m_mass
private

Definition at line 120 of file TrkVKalVrtCoreBase.h.

◆ m_originVertex

VKVertex* Trk::VKTrack::m_originVertex
private

Definition at line 119 of file TrkVKalVrtCoreBase.h.

◆ Perig

double Trk::VKTrack::Perig[5] {}

Definition at line 85 of file TrkVKalVrtCoreBase.h.

85{}; //perigee parameters prepared for vertex estimation

◆ refCovar

double Trk::VKTrack::refCovar[15] {}

Definition at line 96 of file TrkVKalVrtCoreBase.h.

96{}; //symmetric covariance matrix

◆ refPerig

double Trk::VKTrack::refPerig[5] {}

Definition at line 95 of file TrkVKalVrtCoreBase.h.

95{}; //perigee parameters

◆ rmnd

double Trk::VKTrack::rmnd[5] {}

Definition at line 90 of file TrkVKalVrtCoreBase.h.

90{}; //remnants with respect to fitted vertex position

◆ v

double Trk::VKTrack::v[5][5] {}

Definition at line 92 of file TrkVKalVrtCoreBase.h.

92{}; //corresponding eigenvectors of weight matrix

◆ WgtM

double Trk::VKTrack::WgtM[15] {}

Definition at line 86 of file TrkVKalVrtCoreBase.h.

86{}; //symmetric weight matrix prepared for vertex estimation

◆ WgtM_save

double Trk::VKTrack::WgtM_save[15] {}

Definition at line 87 of file TrkVKalVrtCoreBase.h.

87{}; //copy of weight matrix for speed optimisation

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