ATLAS Offline Software
AlVec.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "GaudiKernel/StatusCode.h"
6 
10 
11 #include <cmath>
12 #include <cstdint>
13 #include <exception>
14 #include <fstream>
15 #include <iomanip>
16 
17 namespace Trk {
18 
19 //______________________________________________________________________________
21  : m_size(0)
22  , m_ptr_data(nullptr)
23  , m_pathbin("./")
24  , m_pathtxt("./")
25 {
26 
27  // set pointer to null
28 }
29 
30 //______________________________________________________________________________
32  : m_size(N)
33  , m_ptr_data(new double[m_size])
34  , m_pathbin("./")
35  , m_pathtxt("./")
36 {
37 
38  double* p = m_ptr_data + m_size;
39  while (p > m_ptr_data) *(--p) = 0.;
40 }
41 
42 //______________________________________________________________________________
44  : m_size(v.m_size)
45  , m_ptr_data(new double[m_size])
46  , m_pathbin(v.m_pathbin)
47  , m_pathtxt(v.m_pathtxt)
48 {
49 
50  copy(v);
51 }
52 
53 //______________________________________________________________________________
55 {
56  delete [] m_ptr_data;
57 }
58 
59 //______________________________________________________________________________
60 void AlVec::copy(const AlVec& v) {
61  if(m_size!=v.m_size) {
62  throw std::range_error( "AlVec Assignment: size does not match!" );
63  }
64 
65  double* p = m_ptr_data + m_size;
66  double* q = v.m_ptr_data + m_size;
67  while (p > m_ptr_data) *(--p) = (*(--q));
68 }
69 
70 //______________________________________________________________________________
71 AlVec& AlVec::operator=(const double& d) {
72 
73  double* p = m_ptr_data + m_size;
74  while (p > m_ptr_data) *(--p) = d;
75 
76  return *this;
77 }
78 
79 //______________________________________________________________________________
80 // size/m_ptr_data deliberately not copied.
81 // cppcheck-suppress operatorEqVarError
83  if (this==&v) return *this;
84 
85  if(m_size!=0 && m_size!=v.m_size) {
86  throw std::range_error( "AlVec Assignment: size does not match!" );
87  }
88 
89  if ( m_ptr_data != v.m_ptr_data ) copy(v);
90 
91  return *this;
92 }
93 
94 //______________________________________________________________________________
95 AlVec AlVec::operator+(const AlVec& v) const {
96  if( m_size != v.m_size ) {
97  throw std::range_error( "operator+: vectors size does not match!" );
98  }
99 
100  AlVec b(m_size);
101 
102  double* p = m_ptr_data + m_size;
103  double* q = v.m_ptr_data + m_size;
104  double* r = b.m_ptr_data + m_size;
105  while (p > m_ptr_data) *(--r) = (*(--p))+(*(--q));
106 
107  return b;
108 }
109 
110 //______________________________________________________________________________
112  if( m_size != v.m_size ) {
113  throw std::range_error( "operator+=: vectors size does not match!" );
114  }
115 
116  double* p = m_ptr_data + m_size;
117  double* q = v.m_ptr_data + m_size;
118  while (p > m_ptr_data) *(--p) += (*(--q));
119 
120  return *this;
121 }
122 
123 //______________________________________________________________________________
124 AlVec AlVec::operator-(const AlVec& v) const {
125  if( m_size != v.m_size ) {
126  throw std::range_error( "operator-: vectors size does not match!" );
127  }
128 
129  AlVec b(m_size);
130 
131  double* p = m_ptr_data + m_size;
132  double* q = v.m_ptr_data + m_size;
133  double* r = b.m_ptr_data + m_size;
134  while (p > m_ptr_data) *(--r) = (*(--p))-(*(--q));
135 
136  return b;
137 }
138 
139 //______________________________________________________________________________
141  if( m_size != v.m_size ) {
142  throw std::range_error( "operator+=: vectors size does not match!" );
143  }
144 
145  double* p = m_ptr_data + m_size;
146  double* q = v.m_ptr_data + m_size;
147  while (p > m_ptr_data) *(--p) -= (*(--q));
148 
149  return *this;
150 }
151 
152 //______________________________________________________________________________
153 double AlVec::operator*(const AlVec& v) const {
154  double b=0.;
155  if( m_size != v.m_size ) {
156  throw std::range_error( "scalar product: vectors size does not match!" );
157  }
158 
159  double* p = m_ptr_data + m_size;
160  double* q = v.m_ptr_data + m_size;
161  while (p > m_ptr_data) b += *(--p)*(*(--q));
162 
163  return b;
164 }
165 
166 //______________________________________________________________________________
167 AlVec AlVec::operator*(const AlMat& m) const {
168  if (m_size != m.nrow()) {
169  throw std::range_error( "Left hand vector-matrix multiplication: size does not match!" );
170  }
171 
172  AlVec b(m.ncol());
173 
174  for (int i=0;i<m.ncol();i++) {
175  for (int j=0;j<m_size;j++) *(b.m_ptr_data+i) += *(m_ptr_data+j)*m.elemc(j, i);
176  }
177  return b;
178 }
179 
180 //______________________________________________________________________________
182  if (m_size != m.size()) {
183  throw std::range_error( "Left hand vector-matrix multiplication: size does not match!" );
184  }
185 
186  AlVec b(m_size);
187 
188  for (int i=0;i<m_size;i++) {
189  for (int j=0;j<m_size;j++) *(b.m_ptr_data+i) += *(m_ptr_data+j)*m.elemc(j, i);
190  }
191  return b;
192 }
193 
194 //______________________________________________________________________________
195 AlVec& AlVec::operator*=(const double& d) {
196 
197  double* p = m_ptr_data + m_size;
198  while (p > m_ptr_data) *(--p) *= d;
199 
200  return *this;
201 }
202 
203 //______________________________________________________________________________
204 // norm of the vector
205 // squared root of squared size
206 double AlVec::norm() const {
207 
208  double result(0.);
209  double * p = m_ptr_data + m_size;
210  while (p > m_ptr_data) {
211  --p;
212  result += *p * *p ;
213  }
214 
215  return sqrt(result);
216 }
217 
218 //______________________________________________________________________________
219 void AlVec::reSize(int Nnew) {
220  if ( Nnew>=0 && Nnew != m_size ) {
221  double* p = m_ptr_data;
222  int size_old = m_size;
223  m_ptr_data = new double[Nnew];
224  m_size = Nnew;
225  int k = m_size <= size_old ? m_size : size_old;
226 
227  p += k;
228  double* q = m_ptr_data + k;
229  while (q > m_ptr_data) *(--q) = *(--p);
230 
231  delete [] p;
232  }
233 }
234 
235 //______________________________________________________________________________
237  // Static shift
238  const int shift=6;
239  const int start = shift*index;
240 
241  if(start<m_size && index>=0){
242  for(int row=start; row<m_size; row++) {
243  *(m_ptr_data+row)=*(m_ptr_data+row+shift);
244  }
245  }
246 }
247 
248 //______________________________________________________________________________
249 void AlVec::RemoveAlignPar(int index, int control)
250 {
251  // Dynamic shift
252  int shift = 1;
253  int counter = 0;
254 
255  index = index-control;
256  // std::cout << "index: " << index << " - control: " << control << std::endl;
257 
258  for(int row=index; row<m_size; row++) {
259  *(m_ptr_data+row) = *(m_ptr_data+row+shift);
260  counter++;
261  if (counter==5-control) { counter=0; shift++; }
262  }
263 }
264 
265 //______________________________________________________________________________
266 int AlVec::RemoveElements(std::vector<int> indices)
267 {
268  int n = indices.size();
269  if (n==0) {
270  return m_size;
271  }
272  if (n>m_size) {
273  throw std::range_error( "Vector of indices larger than matrix size." );
274  }
275 
276  // first sort the list of indices descending
277  // maybe not the fastest way to do that but it works
278  for (int i=0;i<n-1;i++)
279  for (int j=i+1; j<n; j++)
280  if (indices[j] > indices[i]) {
281  int itmp = indices[i];
282  indices[i] = indices[j];
283  indices[j] = itmp;
284  }
285 
286  // remove elements starting from largest indices
287  for (int i=0;i<n;i++) {
288  int index = indices[i];
289  if (index > m_size-1) {
290  throw std::out_of_range( "AlVec::RemoveElements: Index goes beyond matrix " );
291  }
292 
293  for (int j=index; j<m_size-1; j++)
294  *(m_ptr_data+j) = *(m_ptr_data+j+1);
295 
296  m_size--;
297  }
298 
299  return m_size;
300 }
301 
302 //______________________________________________________________________________
303 void AlVec::SetPathBin(const std::string &path)
304 {
305  m_pathbin.assign(path);
306 }
307 
308 //______________________________________________________________________________
309 void AlVec::SetPathTxt(const std::string &path)
310 {
311  m_pathtxt.assign(path);
312 }
313 
314 //______________________________________________________________________________
315 StatusCode AlVec::Write(const std::string &filename, bool binary, double scale,
316  std::map<int,unsigned long long> moduleIndexMap, float version)
317 {
318  std::ofstream outvec;
319  int32_t io_size=m_size;
320 // int32_t io_scale=scale;
321 
322  if(binary) {
323  outvec.open((m_pathbin+filename).c_str(), std::ios::binary);
324  if(outvec.fail())
325  return StatusCode::FAILURE;
326  outvec.write((char*)&io_size, sizeof (io_size));
327  outvec.write((char*)&scale, sizeof (scale));
328  outvec.write((char*)&version, sizeof (version));
329  }
330  else {
331  outvec.open((m_pathtxt+filename).c_str());
332  if(outvec.fail())
333  return StatusCode::FAILURE;
334  outvec.setf(std::ios::fixed);
335  outvec.setf(std::ios::showpoint);
336  outvec.precision(6);
337  outvec << "DoF: " << std::setw(6) << m_size << std::endl;
338  outvec << "scale: " << std::setw(18) << scale << std::endl;
339  outvec << "AlVec version: " << std::setw(6) << version << std::endl;
340  }
341 
342  int64_t ielem=0;
343  double velem=0;
345 
346  for( int i=0; i<m_size; i++) {
347  itcod=moduleIndexMap.find(i/6);
348  if (itcod != moduleIndexMap.end()) {
349  ielem = (itcod->second);
350  }
351 
352  velem = *(m_ptr_data+i);
353 
354  if(binary){
355  outvec.write((char*)&(ielem), sizeof (ielem));
356  outvec.write((char*)&(velem), sizeof (velem));
357  }
358  else
359  outvec << std::setw(20) << ielem << std::setw(18) << velem << std::endl;
360  }
361  outvec.close();
362  return StatusCode::SUCCESS;
363 }
364 
365 //______________________________________________________________________________
366 StatusCode AlVec::WritePartial(const std::string &filename, bool binary, double scale,
367  std::map<int,unsigned long long> moduleIndexMap, float version)
368 {
369  std::ofstream outvec;
370 
371  /*
372  int32_t io_size=m_size;
373  // int32_t io_scale=scale;
374 
375  if(binary) {
376  outvec.open((m_pathbin+filename).c_str(), std::ios::binary);
377  if(outvec.fail())
378  return StatusCode::FAILURE;
379  outvec.write((char*)&io_size, sizeof (io_size));
380  outvec.write((char*)&scale, sizeof (scale));
381  outvec.write((char*)&version, sizeof (version));
382 
383  }
384  else {
385  outvec.open((m_pathtxt+filename).c_str());
386  if(outvec.fail())
387  return StatusCode::FAILURE;
388  outvec.setf(std::ios::fixed);
389  outvec.setf(std::ios::showpoint);
390  outvec.precision(6);
391  outvec << "DoF: " << std::setw(6) << m_size << std::endl;
392  outvec << "scale: " << std::setw(18) << scale << std::endl;
393  outvec << "AlVec version: " << std::setw(6) << version << std::endl;
394  }
395  */
396 
398  if (sc!=StatusCode::SUCCESS) return StatusCode::FAILURE;
399 
400  int64_t ielem=0;
401  double velem=0;
403 
404  for( int i=0; i<m_size; i++) {
405  itcod=moduleIndexMap.find(i);
406  if (itcod != moduleIndexMap.end())
407  ielem = (itcod->second);
408 
409  velem = *(m_ptr_data+i);
410 
411  if(binary){
412  outvec.write((char*)&(ielem), sizeof (ielem));
413  outvec.write((char*)&(velem), sizeof (velem));
414  }
415  else
416  outvec << std::setw(20) << ielem << std::setw(18) << velem << std::endl;
417  }
418  outvec.close();
419  return StatusCode::SUCCESS;
420 }
421 
422 //______________________________________________________________________________
423 StatusCode AlVec::WritePartial(const std::string &filename, bool binary, double scale,
424  std::map<int,std::string> moduleNameMap, float version)
425 {
426  std::ofstream outvec;
427 
429  if (sc!=StatusCode::SUCCESS) return StatusCode::FAILURE;
430 
431  std::string elem="";
432  double velem=0;
434 
435  for( int i=0; i<m_size; i++) {
436  itcod=moduleNameMap.find(i);
437  if (itcod != moduleNameMap.end()) {
438  elem = (itcod->second);
439  }
440 
441  velem = *(m_ptr_data+i);
442 
443  if(binary){
444  std::cout<<"can't write module name in binary output!"<<std::endl;
445  return StatusCode::FAILURE;
446  }
447  else
448  outvec << std::setw(20) << elem << std::setw(18) << velem << std::endl;
449  }
450  outvec.close();
451  return StatusCode::SUCCESS;
452 }
453 
454 //________________________________________________________________________
455 StatusCode AlVec::InitializeOutputVector(const std::string& filename, bool binary, double scale,
456  float version, std::ofstream& outvec)
457 {
458  int32_t io_size=m_size;
459 
460  if(binary) {
461  outvec.open((m_pathbin+filename).c_str(), std::ios::binary);
462  if(outvec.fail())
463  return StatusCode::FAILURE;
464  outvec.write((char*)&io_size, sizeof (io_size));
465  outvec.write((char*)&scale, sizeof (scale));
466  outvec.write((char*)&version, sizeof (version));
467 
468  }
469  else {
470  outvec.open((m_pathtxt+filename).c_str());
471  if(outvec.fail())
472  return StatusCode::FAILURE;
473  outvec.setf(std::ios::fixed);
474  outvec.setf(std::ios::showpoint);
475  outvec.precision(6);
476  outvec << "DoF: " << std::setw(6) << m_size << std::endl;
477  outvec << "scale: " << std::setw(18) << scale << std::endl;
478  outvec << "AlVec version: " << std::setw(6) << version << std::endl;
479  }
480  return StatusCode::SUCCESS;
481 }
482 
483 //______________________________________________________________________________
484 StatusCode AlVec::ReadPartial(const std::string &filename, double &scale,
485  std::map<int,unsigned long long> &modmap, float &version)
486 {
487  bool StdUnits = true;
488  if (StatusCode::SUCCESS != CheckVecVersion(m_pathbin+filename, StdUnits)) {
489  //std::cout<<"CheckVecVersion failed"<<std::endl;
490  return StatusCode::FAILURE;
491  }
492 
493  std::ifstream invec((m_pathbin+filename).c_str(), std::ios::binary);
494  if(invec.fail()) {
495  //std::cout<<"ifstream failed"<<std::endl;
496  return StatusCode::FAILURE;
497  }
498 
499  int32_t vsiz=0;
500  invec.read((char*)&vsiz, sizeof (vsiz));
501  m_size = vsiz;
502 
503 // int32_t io_scale;
504  invec.read((char*)&scale, sizeof(scale));
505 // scale=io_scale;
506 
507  if (StdUnits)
508  invec.read((char*)&version, sizeof (version));
509 
510 // std::cout << "AlVec::StdUnits: " << StdUnits << std::endl;
511 // std::cout << "AlVec::scale: " << scale << std::endl;
512 // std::cout << "AlVec::version: " << version << std::endl;
513 
514  int64_t ielem=0;
515  double velem=0.0;
516  for( int i=0; i<m_size; i++) {
517  invec.read((char*)&ielem, sizeof (ielem));
518  modmap[i] = ielem;
519 
520  invec.read((char*)&velem, sizeof (velem));
521  *(m_ptr_data+i) = velem;
522 
523  // std::cout << "AlVec (" << i << "):: " << ielem << ", " << velem << std::endl;
524 
525  }
526 
527  invec.close();
528  return StatusCode::SUCCESS;
529 }
530 
531 //______________________________________________________________________________
532 StatusCode AlVec::CheckVecVersion(const std::string& filename, bool &StdUnits){
533  std::ifstream invec((filename).c_str(), std::ios::binary);
534  if(invec.fail())
535  return StatusCode::FAILURE;
536 
537  int32_t vsiz=0;
538  invec.read((char*)&vsiz, sizeof (vsiz));
539 
540 // int32_t scale=0;
541  double scale=0.;
542  invec.read((char*)&scale, sizeof (scale));
543 
544  float version=0.0;
545  invec.read((char*)&version, sizeof (version));
546 
547  StdUnits = version>=2.0;
548 
549  invec.close();
550 
551  // std::cout << "AlVec::StdUnits: " << StdUnits << std::endl;
552  // std::cout << "AlVec::scale: " << scale << std::endl;
553  // std::cout << "AlVec::vsiz: " << vsiz << std::endl;
554  // std::cout << "AlVec::version: " << version << std::endl;
555 
556  return StatusCode::SUCCESS;
557 }
558 
559 //______________________________________________________________________________
560 StatusCode AlVec::Read(const std::string &filename, double &scale,
561  std::map<int,unsigned long long> &modmap, float &version)
562 {
563 
564  bool StdUnits = true;
565  if (StatusCode::SUCCESS != CheckVecVersion(m_pathbin+filename, StdUnits)) {
566  //std::cout<<"CheckVecVersion failed"<<std::endl;
567  return StatusCode::FAILURE;
568  }
569 
570  std::ifstream invec((m_pathbin+filename).c_str(), std::ios::binary);
571  if(invec.fail())
572  return StatusCode::FAILURE;
573 
574  int32_t vsiz=0;
575  invec.read((char*)&vsiz, sizeof (vsiz));
576  m_size = vsiz;
577 // std::cout<<"size="<<m_size<<std::endl;
578 
579 // int32_t io_scale;
580  invec.read((char*)&scale, sizeof (scale));
581 // scale=io_scale;
582 // std::cout<<"scale="<<scale<<std::endl;
583 
584  if (StdUnits)
585  invec.read((char*)&version, sizeof (version));
586 
587 // std::cout << "AlVec::StdUnits: " << StdUnits << std::endl;
588 // std::cout << "AlVec::scale: " << scale << std::endl;
589 // std::cout << "AlVec::version: " << version << std::endl;
590 
591  int64_t ielem=0;
592  double velem=0.0;
593  for( int i=0; i<m_size; i++) {
594  invec.read((char*)&ielem, sizeof (ielem));
595  modmap[i/6] = ielem;
596 
597  invec.read((char*)&velem, sizeof (velem));
598  *(m_ptr_data+i) = velem;
599 
600  // std::cout << "AlVec (" << i << "):: " << ielem << ", " << velem << std::endl;
601 
602  }
603 
604  invec.close();
605  return StatusCode::SUCCESS;
606 }
607 
608 //______________________________________________________________________________
609 StatusCode AlVec::ReadProjected(const std::string &filename, double &scale,
610  std::map<int,unsigned long long> &modmap, float &version)
611 {
612  std::ifstream invec((m_pathbin+filename).c_str(), std::ios::binary);
613  if(invec.fail())
614  return StatusCode::FAILURE;
615 
616  int32_t vsiz=0;
617  invec.read((char*)&vsiz, sizeof (vsiz));
618  m_size = vsiz;
619 
620 // int32_t io_scale;
621  invec.read((char*)&scale, sizeof (scale));
622 // scale=io_scale;
623 
624  invec.read((char*)&version, sizeof (version));
625 
626  // std::cout << "AlVec::scale: " << scale << std::endl;
627  // std::cout << "AlVec::version: " << version << std::endl;
628 
629  int64_t ielem=0;
630  double velem=0.0;
631  for( int i=0; i<m_size; i++) {
632  invec.read((char*)&ielem, sizeof (ielem));
633  modmap[i/6] = ielem;
634 
635  invec.read((char*)&velem, sizeof (velem));
636  *(m_ptr_data+i) = velem;
637 
638  // std::cout << "AlVec (" << i << "):: " << ielem << ", " << velem << std::endl;
639 
640  }
641 
642  invec.close();
643  return StatusCode::SUCCESS;
644 }
645 
646 //______________________________________________________________________________
648  std::ifstream eigenvec(filename.c_str(), std::ios::binary);
649  if(eigenvec.fail())
650  return StatusCode::FAILURE;
651 
652  int32_t vsiz=0;
653  eigenvec.read((char*)&vsiz, sizeof (vsiz));
654  m_size=vsiz;
655 
656  double velem=0;
657  for( int i=0; i<m_size; i++) {
658  eigenvec.read((char*)&velem, sizeof (velem));
659  // printf("v[%d] = %.16lf \n",i,velem);
660  *(m_ptr_data+i) = velem;
661  }
662 
663  eigenvec.close();
664  return StatusCode::SUCCESS;
665 }
666 
667 //______________________________________________________________________________
668 StatusCode AlVec::WriteEigenvalueVec(const std::string &filename, bool binary){
669 
670  std::ofstream outvec;
671  int32_t io_size=m_size;
672 
673  if(binary) {
674  outvec.open((m_pathbin+filename).c_str(), std::ios::binary);
675 
676  if(outvec.fail())
677  return StatusCode::FAILURE;
678 
679  outvec.write((char*)&io_size, sizeof (io_size));
680  }
681  else{
682  outvec.open((m_pathtxt+filename).c_str());
683 
684  if(outvec.fail())
685  return StatusCode::FAILURE;
686 
687  outvec.setf(std::ios::fixed);
688  outvec.setf(std::ios::showpoint);
689  outvec.precision(6);
690  outvec << "AlVec::DoF: " << std::setw(6) << m_size << std::endl;
691  }
692 
693  //jlove int32_t ielem=0;
694  double velem=0;
695 // std::map<int,int>::iterator itcod;
696 
697  for( int i=0; i<m_size; i++) {
698 
699  velem = *(m_ptr_data+i);
700 
701  if(binary)
702  outvec.write((char*)&(velem), sizeof (velem));
703  else
704  outvec << std::setw(10) << i << std::setw(18) << velem << std::endl;
705  }
706  outvec.close();
707  return StatusCode::SUCCESS;
708 }
709 
710 } // end namespace Trk
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
Trk::AlVec::operator-
AlVec operator-(const AlVec &) const
Definition: AlVec.cxx:124
query_example.row
row
Definition: query_example.py:24
beamspotman.r
def r
Definition: beamspotman.py:676
Trk::AlVec::InitializeOutputVector
StatusCode InitializeOutputVector(const std::string &, bool, double, float, std::ofstream &)
Definition: AlVec.cxx:455
Trk::AlVec::~AlVec
~AlVec()
Definition: AlVec.cxx:54
Trk::AlVec::CheckVecVersion
static StatusCode CheckVecVersion(const std::string &, bool &)
Definition: AlVec.cxx:532
get_generator_info.result
result
Definition: get_generator_info.py:21
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
athena.path
path
python interpreter configuration --------------------------------------—
Definition: athena.py:128
Trk::AlVec::operator*=
AlVec & operator*=(const double &)
Definition: AlVec.cxx:195
Trk::AlVec::reSize
void reSize(int)
Definition: AlVec.cxx:219
Trk::AlVec::copy
void copy(const AlVec &)
Definition: AlVec.cxx:60
Trk::AlVec
Definition: AlVec.h:23
index
Definition: index.py:1
Trk::AlSymMatBase
Definition: AlSymMatBase.h:38
hist_file_dump.d
d
Definition: hist_file_dump.py:137
Trk::indices
std::pair< long int, long int > indices
Definition: AlSymMatBase.h:24
mergePhysValFiles.start
start
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:14
Trk::AlVec::RemoveAlignPar
void RemoveAlignPar(int, int)
Definition: AlVec.cxx:249
CSV_InDetExporter.new
new
Definition: CSV_InDetExporter.py:145
Trk::AlVec::operator-=
AlVec & operator-=(const AlVec &)
Definition: AlVec.cxx:140
Trk::AlVec::WriteEigenvalueVec
StatusCode WriteEigenvalueVec(const std::string &, bool)
Definition: AlVec.cxx:668
Trk::AlVec::m_size
int m_size
Definition: AlVec.h:94
AlVec.h
Trk::AlVec::operator*
double operator*(const AlVec &) const
Definition: AlVec.cxx:153
JetTiledMap::N
@ N
Definition: TiledEtaPhiMap.h:44
AlSymMat.h
yodamerge_tmp.scale
scale
Definition: yodamerge_tmp.py:138
Trk::AlVec::WritePartial
StatusCode WritePartial(const std::string &, bool, double, std::map< int, unsigned long long >, float)
Definition: AlVec.cxx:366
Trk::AlVec::Write
StatusCode Write(const std::string &, bool, double, std::map< int, unsigned long long >, float)
Definition: AlVec.cxx:315
Trk::AlVec::m_pathtxt
std::string m_pathtxt
Definition: AlVec.h:97
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
Trk::AlVec::norm
double norm() const
Definition: AlVec.cxx:206
Trk::AlVec::Read
StatusCode Read(const std::string &, double &, std::map< int, unsigned long long > &, float &)
Definition: AlVec.cxx:560
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
lumiFormat.i
int i
Definition: lumiFormat.py:85
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Trk::AlVec::AlVec
AlVec()
Definition: AlVec.cxx:20
AlMat.h
Trk::AlMat
Definition: AlMat.h:27
Trk::AlVec::RemoveElements
int RemoveElements(std::vector< int >)
Definition: AlVec.cxx:266
Trk::AlVec::ReadProjected
StatusCode ReadProjected(const std::string &, double &, std::map< int, unsigned long long > &, float &)
Definition: AlVec.cxx:609
xAOD::double
double
Definition: CompositeParticle_v1.cxx:159
Trk::AlVec::m_pathbin
std::string m_pathbin
Definition: AlVec.h:96
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
get_generator_info.version
version
Definition: get_generator_info.py:33
Trk::AlVec::m_ptr_data
double * m_ptr_data
Definition: AlVec.h:95
DeMoScan.index
string index
Definition: DeMoScan.py:364
Trk::AlVec::operator=
AlVec & operator=(const AlVec &v)
Definition: AlVec.cxx:82
Trk::AlVec::ReadPartial
StatusCode ReadPartial(const std::string &, double &, std::map< int, unsigned long long > &, float &)
Definition: AlVec.cxx:484
Trk::AlVec::ReadScalaPack
StatusCode ReadScalaPack(const std::string &)
Definition: AlVec.cxx:647
CaloCellTimeCorrFiller.filename
filename
Definition: CaloCellTimeCorrFiller.py:24
Trk::AlVec::SetPathBin
void SetPathBin(const std::string &)
Definition: AlVec.cxx:303
Trk::AlVec::operator+=
AlVec & operator+=(const AlVec &)
Definition: AlVec.cxx:111
extractSporadic.q
list q
Definition: extractSporadic.py:98
Trk::AlVec::SetPathTxt
void SetPathTxt(const std::string &)
Definition: AlVec.cxx:309
test_pyathena.counter
counter
Definition: test_pyathena.py:15
Trk::AlVec::operator+
AlVec operator+(const AlVec &) const
Definition: AlVec.cxx:95
Trk::v
@ v
Definition: ParamDefs.h:78
fitman.k
k
Definition: fitman.py:528
Trk::AlVec::RemoveModule
void RemoveModule(int)
Definition: AlVec.cxx:236