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