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 63 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 49 of file TrkVKalVrtCoreBase.cxx.

54 : Id(iniId)
55 , Charge(1)
56 , Chi2(0)
57 , m_mass(m)
58 {
59 if (Perigee[4] < 0)
60 Charge = -1;
61 for (int i = 0; i < 3; i++) {
62 fitP[i] = 0;
63 cnstP[i] = 0.;
64 iniP[i] = 0.;}
65 std::copy(Perigee, Perigee+5, Perig);
66 std::copy(Perigee, Perigee+5, refPerig);
67 for(int i=0; i<5; i++) { rmnd[i]=0;}
68 std::copy(Covariance, Covariance+15, refCovar);
69 m_originVertex = vk;
70 }
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 102 of file TrkVKalVrtCoreBase.h.

102{ return Perig[0];}

◆ getMass()

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

Definition at line 100 of file TrkVKalVrtCoreBase.h.

100{return m_mass;}

◆ invR()

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

Definition at line 106 of file TrkVKalVrtCoreBase.h.

106{ return Perig[4];}

◆ phi()

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

Definition at line 105 of file TrkVKalVrtCoreBase.h.

105{ return Perig[3];}

◆ r_a0()

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

Definition at line 107 of file TrkVKalVrtCoreBase.h.

107{ return refPerig[0];}

◆ r_invR()

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

Definition at line 111 of file TrkVKalVrtCoreBase.h.

111{ return refPerig[4];}

◆ r_phi()

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

Definition at line 110 of file TrkVKalVrtCoreBase.h.

110{ return refPerig[3];}

◆ r_theta()

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

Definition at line 109 of file TrkVKalVrtCoreBase.h.

109{ return refPerig[2];}

◆ r_z()

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

Definition at line 108 of file TrkVKalVrtCoreBase.h.

108{ return refPerig[1];}

◆ restoreCurrentWgt()

void Trk::VKTrack::restoreCurrentWgt ( )

Definition at line 83 of file TrkVKalVrtCoreBase.cxx.

84 {
85 std::copy(WgtM_save, WgtM_save+15, WgtM);
86 }
double WgtM_save[15]

◆ setCurrent()

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

Definition at line 72 of file TrkVKalVrtCoreBase.cxx.

73 {
74 std::copy(Perigee, Perigee+5, Perig);
75 std::copy(Weight, Weight+15, WgtM);
76 std::copy(Weight, Weight+15, WgtM_save);
77 }

◆ setMass()

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

Definition at line 101 of file TrkVKalVrtCoreBase.h.

101{ m_mass=M;}

◆ setReference()

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

Definition at line 78 of file TrkVKalVrtCoreBase.cxx.

79 {
80 std::copy(Perigee, Perigee+5, refPerig);
81 std::copy(Covariance, Covariance+15, refCovar);
82 }

◆ theta()

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

Definition at line 104 of file TrkVKalVrtCoreBase.h.

104{ return Perig[2];}

◆ z()

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

Definition at line 103 of file TrkVKalVrtCoreBase.h.

103{ return Perig[1];}

◆ operator<<

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

Definition at line 96 of file TrkVKalVrtCoreBase.cxx.

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

Member Data Documentation

◆ Charge

int Trk::VKTrack::Charge

Definition at line 73 of file TrkVKalVrtCoreBase.h.

◆ Chi2

double Trk::VKTrack::Chi2

Definition at line 77 of file TrkVKalVrtCoreBase.h.

◆ cnstP

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

Definition at line 80 of file TrkVKalVrtCoreBase.h.

80{};

◆ e

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

Definition at line 92 of file TrkVKalVrtCoreBase.h.

92{}; //eigenvalues of weight matrix

◆ fitP

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

Definition at line 76 of file TrkVKalVrtCoreBase.h.

76{};

◆ Id

long int Trk::VKTrack::Id

Definition at line 72 of file TrkVKalVrtCoreBase.h.

◆ iniP

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

Definition at line 83 of file TrkVKalVrtCoreBase.h.

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

◆ m_mass

double Trk::VKTrack::m_mass
private

Definition at line 121 of file TrkVKalVrtCoreBase.h.

◆ m_originVertex

VKVertex* Trk::VKTrack::m_originVertex
private

Definition at line 120 of file TrkVKalVrtCoreBase.h.

◆ Perig

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

Definition at line 86 of file TrkVKalVrtCoreBase.h.

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

◆ refCovar

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

Definition at line 97 of file TrkVKalVrtCoreBase.h.

97{}; //symmetric covariance matrix

◆ refPerig

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

Definition at line 96 of file TrkVKalVrtCoreBase.h.

96{}; //perigee parameters

◆ rmnd

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

Definition at line 91 of file TrkVKalVrtCoreBase.h.

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

◆ v

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

Definition at line 93 of file TrkVKalVrtCoreBase.h.

93{}; //corresponding eigenvectors of weight matrix

◆ WgtM

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

Definition at line 87 of file TrkVKalVrtCoreBase.h.

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

◆ WgtM_save

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

Definition at line 88 of file TrkVKalVrtCoreBase.h.

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

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