ATLAS Offline Software
Public Member Functions | Public Attributes | List of all members
Trk::VKVertex Class Reference

#include <TrkVKalVrtCoreBase.h>

Collaboration diagram for Trk::VKVertex:

Public Member Functions

 VKVertex (const VKalVrtControl &)
 
 VKVertex (VKVertex &&) noexcept=default
 
 VKVertex ()
 
 ~VKVertex ()
 
 VKVertex (const VKVertex &src)
 
VKVertexoperator= (const VKVertex &src)
 
VKVertexoperator= (VKVertex &&) noexcept=default
 
void setRefV (double v[3]) noexcept
 
void setCnstV (double v[3]) noexcept
 
void setRefIterV (double v[]) noexcept
 
void setIniV (double v[3]) noexcept
 
void setFitV (double v[3]) noexcept
 

Public Attributes

double Chi2
 
double fitV [3] {}
 
double fitVcov [6] {}
 
double iniV [3] {}
 
double cnstV [3] {}
 
double refIterV [3] {}
 
double refV [3] {}
 
int useApriorVertex
 
double apriorV [3] {}
 
double apriorVWGT [6] {}
 
bool passNearVertex
 
bool passWithTrkCov
 
double fitMom [3] {}
 
double fitCovXYZMom [21] {}
 
ForVrtClose FVC
 
double T [3] {}
 
double wa [6] {}
 
double dxyz0 [3] {}
 
std::vector< std::unique_ptr< VKTrack > > TrackList
 
std::vector< std::unique_ptr< TWRK > > tmpArr
 
std::vector< std::unique_ptr< VKConstraintBase > > ConstraintList
 
VKVertexnextCascadeVrt
 
std::vector< VKVertex * > includedVrt
 
double savedVrtMomCov [21] {}
 
bool truncatedStep
 
int existFullCov
 
double ader [(3 *vkalNTrkM+3) *(3 *vkalNTrkM+3)]
 
std::unique_ptr< VKalVrtControlvk_fitterControl
 

Detailed Description

Definition at line 127 of file TrkVKalVrtCoreBase.h.

Constructor & Destructor Documentation

◆ VKVertex() [1/4]

Trk::VKVertex::VKVertex ( const VKalVrtControl FitControl)

Definition at line 127 of file TrkVKalVrtCoreBase.cxx.

127  : VKVertex()
128  { vk_fitterControl = std::make_unique<VKalVrtControl>(FitControl); }

◆ VKVertex() [2/4]

Trk::VKVertex::VKVertex ( VKVertex &&  )
defaultnoexcept

◆ VKVertex() [3/4]

Trk::VKVertex::VKVertex ( )

Definition at line 131 of file TrkVKalVrtCoreBase.cxx.

131  :
132  useApriorVertex(0), passNearVertex(false), passWithTrkCov(false),
134  {
135  for(int i=0; i<3; i++) apriorV[i]=refV[i]=iniV[i]=fitV[i]=cnstV[i]=fitMom[i]=0.;
136  for(int i=0; i<6; i++) apriorVWGT[i]=0.;
137  for(int i=0; i<21; i++) fitCovXYZMom[i]=savedVrtMomCov[i]=0.;
138  fitCovXYZMom[0]=savedVrtMomCov[0]=100.; fitCovXYZMom[2] =savedVrtMomCov[2] =100.; fitCovXYZMom[5] =savedVrtMomCov[5] =100.;
139  fitCovXYZMom[9]=savedVrtMomCov[9]=100.; fitCovXYZMom[14]=savedVrtMomCov[14]=100.; fitCovXYZMom[20]=savedVrtMomCov[20]=100.;
140  Chi2=0.;
141  truncatedStep=false;
142  existFullCov=0;
143  }

◆ ~VKVertex()

Trk::VKVertex::~VKVertex ( )
default

◆ VKVertex() [4/4]

Trk::VKVertex::VKVertex ( const VKVertex src)

Definition at line 154 of file TrkVKalVrtCoreBase.cxx.

154  : //copy constructor
155  Chi2(src.Chi2), // vertex Chi2
156  useApriorVertex(src.useApriorVertex), //for a priory vertex position knowledge usage
157  passNearVertex(src.passNearVertex), // needed for "passing near vertex" constraint
158  passWithTrkCov(src.passWithTrkCov), // Vertex, CovVertex, Charge and derivatives
159  FVC(src.FVC),
160  TrackList(0),
161  ConstraintList(0)
162  {
163  for( int i=0; i<6; i++) {
164  fitVcov[i] =src.fitVcov[i]; // range[0:5]
165  apriorVWGT[i] =src.apriorVWGT[i];
166  if(i>=3) continue;
167  fitV[i] =src.fitV[i]; // range[0:2]
168  iniV[i] =src.iniV[i];
169  cnstV[i] =src.cnstV[i];
170  refIterV[i]=src.refIterV[i];
171  refV[i] =src.refV[i];
172  apriorV[i] =src.apriorV[i];
173  fitMom[i] = src.fitMom[i];
174  }
175  for( int i=0; i<21; i++){
176  savedVrtMomCov[i]=src.savedVrtMomCov[i];
177  fitCovXYZMom[i]=src.fitCovXYZMom[i];
178  }
179  nextCascadeVrt = nullptr;
180  truncatedStep = src.truncatedStep;
181  existFullCov = src.existFullCov;
182 
183  int NTrack=src.TrackList.size();
184  int FULLSIZE=3*vkalNTrkM+3;
185  int SIZE=3*NTrack+3;
186  for(int i=0; i<SIZE; i++) for(int j=0; j<SIZE; j++) { ader[i*FULLSIZE+j]=src.ader[i*FULLSIZE+j]; }
187  //----- Creation of track and constraint copies
188  for( int i=0; i<NTrack; i++) TrackList.emplace_back( new VKTrack(*(src.TrackList[i])) );
189  ConstraintList.reserve(src.ConstraintList.size());
190  for( int ic=0; ic<(int)src.ConstraintList.size(); ic++){
191  ConstraintList.emplace_back(src.ConstraintList[ic]->clone());
192  }
193  vk_fitterControl = std::make_unique<VKalVrtControl>(*src.vk_fitterControl);
194  }

Member Function Documentation

◆ operator=() [1/2]

VKVertex & Trk::VKVertex::operator= ( const VKVertex src)

Definition at line 196 of file TrkVKalVrtCoreBase.cxx.

197  {
198  if (this!=&src){
199  vk_fitterControl.reset();
200  vk_fitterControl=std::make_unique<VKalVrtControl>(*(src.vk_fitterControl));
201  Chi2=src.Chi2; // vertex Chi2
202  useApriorVertex=src.useApriorVertex; //for a priory vertex position knowledge usage
203  passNearVertex=src.passNearVertex; // needed for "passing near vertex" constraint
204  passWithTrkCov=src.passWithTrkCov; // Vertex, CovVertex, Charge and derivatives
205  FVC=src.FVC;
206  for( int i=0; i<6; i++) {
207  fitVcov[i] =src.fitVcov[i]; // range[0:5]
208  apriorVWGT[i] =src.apriorVWGT[i];
209  if(i>=3) continue;
210  fitV[i] =src.fitV[i]; // range[0:2]
211  iniV[i] =src.iniV[i];
212  cnstV[i] =src.cnstV[i];
213  refIterV[i]=src.refIterV[i];
214  refV[i] =src.refV[i];
215  apriorV[i] =src.apriorV[i];
216  fitMom[i] = src.fitMom[i];
217  }
218  for( int i=0; i<21; i++){
219  savedVrtMomCov[i]=src.savedVrtMomCov[i];
220  fitCovXYZMom[i]=src.fitCovXYZMom[i];
221  }
222  nextCascadeVrt = nullptr;
223  truncatedStep = src.truncatedStep;
224  existFullCov = src.existFullCov;
225 
226  int NTrack=src.TrackList.size();
227  int FULLSIZE=3*vkalNTrkM+3;
228  int SIZE=3*NTrack+3;
229  for(int i=0; i<SIZE; i++) for(int j=0; j<SIZE; j++) { ader[i*FULLSIZE+j]=src.ader[i*FULLSIZE+j]; }
230  //----- Creation of track and constraint copies
231  TrackList.clear();
232  tmpArr.clear();
233  ConstraintList.clear();
234  for( int i=0; i<NTrack; i++) TrackList.emplace_back( new VKTrack(*(src.TrackList[i])) );
235  ConstraintList.reserve(src.ConstraintList.size());
236  for( int ic=0; ic<(int)src.ConstraintList.size(); ic++){
237  ConstraintList.emplace_back(src.ConstraintList[ic]->clone());
238  }
239 
242  std::copy (std::begin(src.dxyz0), std::end(src.dxyz0), std::begin(dxyz0));
243  }
244  return *this;
245  }

◆ operator=() [2/2]

VKVertex& Trk::VKVertex::operator= ( VKVertex &&  )
defaultnoexcept

◆ setCnstV()

void Trk::VKVertex::setCnstV ( double  v[3])
noexcept

Definition at line 151 of file TrkVKalVrtCoreBase.cxx.

151 { std::copy(v, v+3, cnstV);}

◆ setFitV()

void Trk::VKVertex::setFitV ( double  v[3])
noexcept

Definition at line 150 of file TrkVKalVrtCoreBase.cxx.

150 { std::copy(v, v+3, fitV); }

◆ setIniV()

void Trk::VKVertex::setIniV ( double  v[3])
noexcept

Definition at line 149 of file TrkVKalVrtCoreBase.cxx.

149 { std::copy(v, v+3, iniV); }

◆ setRefIterV()

void Trk::VKVertex::setRefIterV ( double  v[])
noexcept

Definition at line 148 of file TrkVKalVrtCoreBase.cxx.

148 { std::copy(v, v+3, refIterV); }

◆ setRefV()

void Trk::VKVertex::setRefV ( double  v[3])
noexcept

Definition at line 147 of file TrkVKalVrtCoreBase.cxx.

147 { std::copy(v, v+3, refV);}

Member Data Documentation

◆ ader

double Trk::VKVertex::ader[(3 *vkalNTrkM+3) *(3 *vkalNTrkM+3)]

Definition at line 188 of file TrkVKalVrtCoreBase.h.

◆ apriorV

double Trk::VKVertex::apriorV[3] {}

Definition at line 152 of file TrkVKalVrtCoreBase.h.

◆ apriorVWGT

double Trk::VKVertex::apriorVWGT[6] {}

Definition at line 153 of file TrkVKalVrtCoreBase.h.

◆ Chi2

double Trk::VKVertex::Chi2

Definition at line 139 of file TrkVKalVrtCoreBase.h.

◆ cnstV

double Trk::VKVertex::cnstV[3] {}

Definition at line 143 of file TrkVKalVrtCoreBase.h.

◆ ConstraintList

std::vector<std::unique_ptr<VKConstraintBase> > Trk::VKVertex::ConstraintList

Definition at line 169 of file TrkVKalVrtCoreBase.h.

◆ dxyz0

double Trk::VKVertex::dxyz0[3] {}

Definition at line 165 of file TrkVKalVrtCoreBase.h.

◆ existFullCov

int Trk::VKVertex::existFullCov

Definition at line 186 of file TrkVKalVrtCoreBase.h.

◆ fitCovXYZMom

double Trk::VKVertex::fitCovXYZMom[21] {}

Definition at line 159 of file TrkVKalVrtCoreBase.h.

◆ fitMom

double Trk::VKVertex::fitMom[3] {}

Definition at line 158 of file TrkVKalVrtCoreBase.h.

◆ fitV

double Trk::VKVertex::fitV[3] {}

Definition at line 140 of file TrkVKalVrtCoreBase.h.

◆ fitVcov

double Trk::VKVertex::fitVcov[6] {}

Definition at line 141 of file TrkVKalVrtCoreBase.h.

◆ FVC

ForVrtClose Trk::VKVertex::FVC

Definition at line 160 of file TrkVKalVrtCoreBase.h.

◆ includedVrt

std::vector<VKVertex*> Trk::VKVertex::includedVrt

Definition at line 180 of file TrkVKalVrtCoreBase.h.

◆ iniV

double Trk::VKVertex::iniV[3] {}

Definition at line 142 of file TrkVKalVrtCoreBase.h.

◆ nextCascadeVrt

VKVertex* Trk::VKVertex::nextCascadeVrt

Definition at line 179 of file TrkVKalVrtCoreBase.h.

◆ passNearVertex

bool Trk::VKVertex::passNearVertex

Definition at line 156 of file TrkVKalVrtCoreBase.h.

◆ passWithTrkCov

bool Trk::VKVertex::passWithTrkCov

Definition at line 157 of file TrkVKalVrtCoreBase.h.

◆ refIterV

double Trk::VKVertex::refIterV[3] {}

Definition at line 146 of file TrkVKalVrtCoreBase.h.

◆ refV

double Trk::VKVertex::refV[3] {}

Definition at line 148 of file TrkVKalVrtCoreBase.h.

◆ savedVrtMomCov

double Trk::VKVertex::savedVrtMomCov[21] {}

Definition at line 181 of file TrkVKalVrtCoreBase.h.

◆ T

double Trk::VKVertex::T[3] {}

Definition at line 163 of file TrkVKalVrtCoreBase.h.

◆ tmpArr

std::vector<std::unique_ptr<TWRK> > Trk::VKVertex::tmpArr

Definition at line 168 of file TrkVKalVrtCoreBase.h.

◆ TrackList

std::vector<std::unique_ptr<VKTrack> > Trk::VKVertex::TrackList

Definition at line 167 of file TrkVKalVrtCoreBase.h.

◆ truncatedStep

bool Trk::VKVertex::truncatedStep

Definition at line 185 of file TrkVKalVrtCoreBase.h.

◆ useApriorVertex

int Trk::VKVertex::useApriorVertex

Definition at line 151 of file TrkVKalVrtCoreBase.h.

◆ vk_fitterControl

std::unique_ptr<VKalVrtControl> Trk::VKVertex::vk_fitterControl

Definition at line 194 of file TrkVKalVrtCoreBase.h.

◆ wa

double Trk::VKVertex::wa[6] {}

Definition at line 164 of file TrkVKalVrtCoreBase.h.


The documentation for this class was generated from the following files:
Trk::VKVertex::tmpArr
std::vector< std::unique_ptr< TWRK > > tmpArr
Definition: TrkVKalVrtCoreBase.h:168
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
WriteCellNoiseToCool.src
src
Definition: WriteCellNoiseToCool.py:513
Trk::VKVertex::T
double T[3]
Definition: TrkVKalVrtCoreBase.h:163
PlotCalibFromCool.begin
begin
Definition: PlotCalibFromCool.py:94
Trk::VKVertex::useApriorVertex
int useApriorVertex
Definition: TrkVKalVrtCoreBase.h:151
Trk::VKVertex::FVC
ForVrtClose FVC
Definition: TrkVKalVrtCoreBase.h:160
Trk::VKVertex::refIterV
double refIterV[3]
Definition: TrkVKalVrtCoreBase.h:146
Trk::VKVertex::ader
double ader[(3 *vkalNTrkM+3) *(3 *vkalNTrkM+3)]
Definition: TrkVKalVrtCoreBase.h:188
Trk::VKVertex::apriorV
double apriorV[3]
Definition: TrkVKalVrtCoreBase.h:152
Trk::VKVertex::ConstraintList
std::vector< std::unique_ptr< VKConstraintBase > > ConstraintList
Definition: TrkVKalVrtCoreBase.h:169
Trk::VKVertex::apriorVWGT
double apriorVWGT[6]
Definition: TrkVKalVrtCoreBase.h:153
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
Trk::VKVertex::TrackList
std::vector< std::unique_ptr< VKTrack > > TrackList
Definition: TrkVKalVrtCoreBase.h:167
Trk::VKVertex::fitV
double fitV[3]
Definition: TrkVKalVrtCoreBase.h:140
Trk::VKVertex::includedVrt
std::vector< VKVertex * > includedVrt
Definition: TrkVKalVrtCoreBase.h:180
lumiFormat.i
int i
Definition: lumiFormat.py:85
Trk::VKVertex::fitMom
double fitMom[3]
Definition: TrkVKalVrtCoreBase.h:158
Trk::VKVertex::refV
double refV[3]
Definition: TrkVKalVrtCoreBase.h:148
Trk::VKVertex::passNearVertex
bool passNearVertex
Definition: TrkVKalVrtCoreBase.h:156
Trk::VKVertex::fitVcov
double fitVcov[6]
Definition: TrkVKalVrtCoreBase.h:141
Trk::VKVertex::existFullCov
int existFullCov
Definition: TrkVKalVrtCoreBase.h:186
grepfile.ic
int ic
Definition: grepfile.py:33
Trk::VKVertex::vk_fitterControl
std::unique_ptr< VKalVrtControl > vk_fitterControl
Definition: TrkVKalVrtCoreBase.h:194
vkalNTrkM
#define vkalNTrkM
Definition: CommonPars.h:22
Trk::VKVertex::cnstV
double cnstV[3]
Definition: TrkVKalVrtCoreBase.h:143
Trk::VKVertex::VKVertex
VKVertex()
Definition: TrkVKalVrtCoreBase.cxx:131
Trk::VKVertex::Chi2
double Chi2
Definition: TrkVKalVrtCoreBase.h:139
Trk::VKVertex::fitCovXYZMom
double fitCovXYZMom[21]
Definition: TrkVKalVrtCoreBase.h:159
Trk::VKVertex::nextCascadeVrt
VKVertex * nextCascadeVrt
Definition: TrkVKalVrtCoreBase.h:179
Trk::VKVertex::wa
double wa[6]
Definition: TrkVKalVrtCoreBase.h:164
Trk::VKVertex::dxyz0
double dxyz0[3]
Definition: TrkVKalVrtCoreBase.h:165
Trk::VKVertex::iniV
double iniV[3]
Definition: TrkVKalVrtCoreBase.h:142
calibdata.copy
bool copy
Definition: calibdata.py:27
Trk::VKVertex::savedVrtMomCov
double savedVrtMomCov[21]
Definition: TrkVKalVrtCoreBase.h:181
Trk::VKVertex::passWithTrkCov
bool passWithTrkCov
Definition: TrkVKalVrtCoreBase.h:157
Trk::VKVertex::truncatedStep
bool truncatedStep
Definition: TrkVKalVrtCoreBase.h:185
Trk::v
@ v
Definition: ParamDefs.h:78