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

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

◆ ~VKVertex()

Trk::VKVertex::~VKVertex ( )
default

◆ VKVertex() [4/4]

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

Definition at line 153 of file TrkVKalVrtCoreBase.cxx.

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

Member Function Documentation

◆ operator=() [1/2]

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

Definition at line 195 of file TrkVKalVrtCoreBase.cxx.

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

◆ operator=() [2/2]

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

◆ setCnstV()

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

Definition at line 150 of file TrkVKalVrtCoreBase.cxx.

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

◆ setFitV()

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

Definition at line 149 of file TrkVKalVrtCoreBase.cxx.

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

◆ setIniV()

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

Definition at line 148 of file TrkVKalVrtCoreBase.cxx.

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

◆ setRefIterV()

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

Definition at line 147 of file TrkVKalVrtCoreBase.cxx.

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

◆ setRefV()

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

Definition at line 146 of file TrkVKalVrtCoreBase.cxx.

146 { 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:92
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:130
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:84