Belle II Software
release-05-01-25
WrapArray2D.h
1
/**************************************************************************
2
* BASF2 (Belle Analysis Framework 2) *
3
* Copyright(C) 2015-2018 - Belle II Collaboration *
4
* *
5
* Author: The Belle II Collaboration *
6
* Contributors: Guglielmo De Nardo *
7
* *
8
* This software is provided "as is" without any warranty. *
9
**************************************************************************/
10
11
#pragma once
12
13
14
namespace
Belle2
{
19
namespace
ECL {
20
template
<
typename
T>
25
class
WrapArray2D {
26
public
:
28
WrapArray2D
(
int
rows,
int
cols) :
29
m_data
(new T[rows * cols]),
m_ncols
(cols)
30
{}
31
33
WrapArray2D
(
const
WrapArray2D
&) =
delete
;
34
36
WrapArray2D
&
operator=
(
const
WrapArray2D
&) =
delete
;
37
39
~WrapArray2D
()
40
{
delete
[]
m_data
; }
41
43
T*
operator[]
(
int
irow)
44
{
45
return
m_data
+ irow *
m_ncols
;
46
}
47
49
operator
T* () {
return
m_data
; }
50
private
:
51
52
T*
m_data
;
53
int
m_ncols
;
54
};
55
}
57
}
Belle2::ECL::WrapArray2D::WrapArray2D
WrapArray2D(int rows, int cols)
replace POD 2D array
Definition:
WrapArray2D.h:36
Belle2::ECL::WrapArray2D
class to replace POD 2D array to save stack usage since it just allocates memory dynamically.
Definition:
WrapArray2D.h:33
Belle2::ECL::WrapArray2D::m_data
T * m_data
content of the 2d array
Definition:
WrapArray2D.h:60
Belle2
Abstract base class for different kinds of events.
Definition:
MillepedeAlgorithm.h:19
Belle2::ECL::WrapArray2D::m_ncols
int m_ncols
number of columns
Definition:
WrapArray2D.h:61
Belle2::ECL::WrapArray2D::operator[]
T * operator[](int irow)
return row
Definition:
WrapArray2D.h:51
Belle2::ECL::WrapArray2D::operator=
WrapArray2D & operator=(const WrapArray2D &)=delete
no assignment
Belle2::ECL::WrapArray2D::~WrapArray2D
~WrapArray2D()
destructor
Definition:
WrapArray2D.h:47
ecl
digitization
include
WrapArray2D.h
Generated on Fri Nov 5 2021 03:51:06 for Belle II Software by
1.8.17