5#ifndef FPGATrackSimVECTORS_H
6#define FPGATrackSimVECTORS_H
21#ifdef DEBUG_FPGATrackSimVECTORS
40 vector2D(
size_t d1,
size_t d2, T
const & t=T()) :
46 if (dim == 0)
return m_d1;
47 if (dim == 1)
return m_d2;
48 else throw std::range_error(
"vector2D: Argument to size() must be 0 or 1");
51 void resize(
size_t x1,
size_t x2, T
const & t=T())
60#ifdef DEBUG_FPGATrackSimVECTORS
64 s <<
"vector2D out of bounds: request (" << i <<
"," << j <<
") size (" <<
m_d1 <<
"," <<
m_d2 <<
")";
65 throw std::range_error(s.str());
73#ifdef DEBUG_FPGATrackSimVECTORS
77 s <<
"vector2D out of bounds: request (" << i <<
"," << j <<
") size (" <<
m_d1 <<
"," <<
m_d2 <<
")";
78 throw std::range_error(s.str());
86#ifdef DEBUG_FPGATrackSimVECTORS
90 s <<
"vector2D out of bounds: request " << i <<
" size (" <<
m_d1 <<
"," <<
m_d2 <<
")";
91 throw std::range_error(s.str());
99#ifdef DEBUG_FPGATrackSimVECTORS
103 s <<
"vector2D out of bounds: request " << i <<
" size (" <<
m_d1 <<
"," <<
m_d2 <<
")";
104 throw std::range_error(s.str());
136 vector3D(
size_t d1,
size_t d2,
size_t d3, T
const & t=T()) :
142#ifdef DEBUG_FPGATrackSimVECTORS
146 s <<
"vector3D out of bounds: request (" << i <<
"," << j <<
"," << k <<
") size (" <<
m_d1 <<
"," <<
m_d2 <<
"," <<
m_d3 <<
")";
147 throw std::range_error(s.str());
155#ifdef DEBUG_FPGATrackSimVECTORS
159 s <<
"vector3D out of bounds: request (" << i <<
"," << j <<
"," << k <<
") size (" <<
m_d1 <<
"," <<
m_d2 <<
"," <<
m_d3 <<
")";
160 throw std::range_error(s.str());
166 void resize(
size_t x1,
size_t x2,
size_t x3, T
const & t=T())
171 m_data.resize(x1*x2*x3, t);
void resize(size_t x1, size_t x2, T const &t=T())
vector2D(size_t d1, size_t d2, T const &t=T())
const T * operator[](size_t i) const
T & operator()(size_t i, size_t j)
size_t size(int dim) const
std::vector< std::pair< int, std::unordered_set< std::shared_ptr< const FPGATrackSimHit > > > > m_data
T const & operator()(size_t i, size_t j) const
vector3D(size_t d1, size_t d2, size_t d3, T const &t=T())
T const & operator()(size_t i, size_t j, size_t k) const
T & operator()(size_t i, size_t j, size_t k)
void resize(size_t x1, size_t x2, size_t x3, T const &t=T())