11 template <
size_t Nx,
size_t Ny>
14 static size_t index(
size_t nx,
size_t ny){
return nx+ny*
NX;}
17 template <
typename T,
typename Dimension>
class HitMap;
29 template <
typename T,
typename Dimension>
34 static size_t Nplanes() {
return Dimension::NX;}
35 static size_t Ncells () {
return Dimension::NY;}
50 {
return at(plane,cell); }
53 {
return at(plane,cell); }
61 const T& operator [](
size_t n){
return data[
n];}
64 std::array<T,Dimension::length>
data;
70 size_t length =
sizeof(map);
71 char *
buffer=
reinterpret_cast<char*
>(&map);
72 s.read(buffer,length);
78 size_t length =
sizeof(map);
79 const char *
buffer=
reinterpret_cast<const char*
>(&map);
80 s.write(buffer,length);
novaddt::Plane const & Plane() const
::xsd::cxx::tree::buffer< char > buffer
const XML_Char const XML_Char * data
const size_t FD_NUM_PLANES
const T & at(novaddt::Plane plane, novaddt::Cell cell) const
const size_t FD_NUM_CELLS
static size_t index(size_t nx, size_t ny)
std::istream & operator>>(std::istream &s, novaddt::calib::FDHitMap &map)
std::ostream & operator<<(std::ostream &s, const novaddt::calib::FDHitMap &map)
std::array< T, Dimension::length > data
novaddt::Cell const & Cell() const
T & at(novaddt::Plane plane, novaddt::Cell cell)
access operators by plane&cell numbers
const size_t ND_NUM_CELLS
const size_t ND_NUM_PLANES