ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
vector3D< T > Class Template Reference

#include <FPGATrackSimVectors.h>

Collaboration diagram for vector3D< T >:

Public Member Functions

 vector3D ()
 
 vector3D (size_t d1, size_t d2, size_t d3, T const &t=T())
 
T & operator() (size_t i, size_t j, size_t k)
 
T constoperator() (size_t i, size_t j, size_t k) const
 
void resize (size_t x1, size_t x2, size_t x3, T const &t=T())
 
T * data ()
 

Private Attributes

size_t m_d1
 
size_t m_d2
 
size_t m_d3
 
std::vector< T > m_data
 

Detailed Description

template<typename T>
class vector3D< T >

Definition at line 123 of file FPGATrackSimVectors.h.

Constructor & Destructor Documentation

◆ vector3D() [1/2]

template<typename T >
vector3D< T >::vector3D ( )
inline

Definition at line 132 of file FPGATrackSimVectors.h.

132  :
133  m_d1(0), m_d2(0), m_d3(0)
134  {}

◆ vector3D() [2/2]

template<typename T >
vector3D< T >::vector3D ( size_t  d1,
size_t  d2,
size_t  d3,
T const t = T() 
)
inline

Definition at line 136 of file FPGATrackSimVectors.h.

136  :
137  m_d1(d1), m_d2(d2), m_d3(d3), m_data(d1*d2*d3, t)
138  {}

Member Function Documentation

◆ data()

template<typename T >
T* vector3D< T >::data ( )
inline

Definition at line 174 of file FPGATrackSimVectors.h.

175  {
176  return m_data.data();
177  }

◆ operator()() [1/2]

template<typename T >
T& vector3D< T >::operator() ( size_t  i,
size_t  j,
size_t  k 
)
inline

Definition at line 140 of file FPGATrackSimVectors.h.

141  {
142 #ifdef DEBUG_FPGATrackSimVECTORS
143  if (i >= m_d1 || j >= m_d2 || k >= m_d3)
144  {
145  std::stringstream s;
146  s << "vector3D out of bounds: request (" << i << "," << j << "," << k << ") size (" << m_d1 << "," << m_d2 << "," << m_d3 << ")";
147  throw std::range_error(s.str());
148  }
149 #endif
150  return m_data[i*m_d2*m_d3 + j*m_d3 + k];
151  }

◆ operator()() [2/2]

template<typename T >
T const& vector3D< T >::operator() ( size_t  i,
size_t  j,
size_t  k 
) const
inline

Definition at line 153 of file FPGATrackSimVectors.h.

154  {
155 #ifdef DEBUG_FPGATrackSimVECTORS
156  if (i >= m_d1 || j >= m_d2 || k >= m_d3)
157  {
158  std::stringstream s;
159  s << "vector3D out of bounds: request (" << i << "," << j << "," << k << ") size (" << m_d1 << "," << m_d2 << "," << m_d3 << ")";
160  throw std::range_error(s.str());
161  }
162 #endif
163  return m_data[i*m_d2*m_d3 + j*m_d3 + k];
164  }

◆ resize()

template<typename T >
void vector3D< T >::resize ( size_t  x1,
size_t  x2,
size_t  x3,
T const t = T() 
)
inline

Definition at line 166 of file FPGATrackSimVectors.h.

167  {
168  m_d1 = x1;
169  m_d2 = x2;
170  m_d3 = x3;
171  m_data.resize(x1*x2*x3, t);
172  }

Member Data Documentation

◆ m_d1

template<typename T >
size_t vector3D< T >::m_d1
private

Definition at line 127 of file FPGATrackSimVectors.h.

◆ m_d2

template<typename T >
size_t vector3D< T >::m_d2
private

Definition at line 127 of file FPGATrackSimVectors.h.

◆ m_d3

template<typename T >
size_t vector3D< T >::m_d3
private

Definition at line 127 of file FPGATrackSimVectors.h.

◆ m_data

template<typename T >
std::vector<T> vector3D< T >::m_data
private

Definition at line 128 of file FPGATrackSimVectors.h.


The documentation for this class was generated from the following file:
plotBeamSpotCompare.x1
x1
Definition: plotBeamSpotCompare.py:216
vector3D::m_d2
size_t m_d2
Definition: FPGATrackSimVectors.h:127
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
vector3D::m_d1
size_t m_d1
Definition: FPGATrackSimVectors.h:127
plotBeamSpotCompare.x2
x2
Definition: plotBeamSpotCompare.py:218
dq_defect_virtual_defect_validation.d1
d1
Definition: dq_defect_virtual_defect_validation.py:79
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
lumiFormat.i
int i
Definition: lumiFormat.py:92
vector3D::m_d3
size_t m_d3
Definition: FPGATrackSimVectors.h:127
dq_defect_virtual_defect_validation.d2
d2
Definition: dq_defect_virtual_defect_validation.py:81
vector3D::m_data
std::vector< T > m_data
Definition: FPGATrackSimVectors.h:128
fitman.k
k
Definition: fitman.py:528