JetMETCorrections
InterpolationTables
interface
ArrayNDScanner.h
Go to the documentation of this file.
1
#ifndef NPSTAT_ARRAYNDSCANNER_HH_
2
#define NPSTAT_ARRAYNDSCANNER_HH_
3
14
#include <vector>
15
#include <climits>
16
17
namespace
npstat
{
36
class
ArrayNDScanner
{
37
public
:
39
40
inline
ArrayNDScanner
(
const
unsigned
* shape,
const
unsigned
lenShape) {
initialize
(shape, lenShape); }
41
42
inline
explicit
ArrayNDScanner
(
const
std::vector<unsigned>& shape) {
43
initialize
(shape.empty() ? static_cast<unsigned*>(
nullptr
) : &shape[0], shape.size());
44
}
45
46
ArrayNDScanner
() =
delete
;
48
50
inline
unsigned
dim
()
const
{
return
dim_
; }
51
53
inline
unsigned
long
state
()
const
{
return
state_
; }
54
56
inline
unsigned
long
maxState
()
const
{
return
maxState_
; }
57
59
inline
bool
isValid
()
const
{
return
state_
<
maxState_
; }
60
62
void
getIndex
(
unsigned
*
index
,
unsigned
indexBufferLen)
const
;
63
65
inline
void
reset
() {
state_
= 0UL; }
66
68
inline
ArrayNDScanner
&
operator++
() {
69
if
(
state_
<
maxState_
)
70
++
state_
;
71
return
*
this
;
72
}
73
75
inline
void
operator++
(
int
) {
76
if
(
state_
<
maxState_
)
77
++
state_
;
78
}
79
81
inline
void
setState
(
const
unsigned
long
state
) {
state_
=
state
<=
maxState_
?
state
:
maxState_
; }
82
83
private
:
84
void
initialize
(
const
unsigned
* shape,
unsigned
lenShape);
85
86
unsigned
long
strides_
[CHAR_BIT *
sizeof
(
unsigned
long)];
87
unsigned
long
state_
;
88
unsigned
long
maxState_
;
89
unsigned
dim_
;
90
};
91
}
// namespace npstat
92
93
#endif // NPSTAT_ARRAYSCANNER_HH_
npstat::ArrayNDScanner::strides_
unsigned long strides_[CHAR_BIT *sizeof(unsigned long)]
Definition:
ArrayNDScanner.h:86
npstat::ArrayNDScanner::isValid
bool isValid() const
Definition:
ArrayNDScanner.h:59
npstat::ArrayNDScanner::initialize
void initialize(const unsigned *shape, unsigned lenShape)
Definition:
ArrayNDScanner.cc:7
npstat::ArrayNDScanner::dim
unsigned dim() const
Definition:
ArrayNDScanner.h:50
npstat::ArrayNDScanner::setState
void setState(const unsigned long state)
Definition:
ArrayNDScanner.h:81
npstat::ArrayNDScanner::maxState_
unsigned long maxState_
Definition:
ArrayNDScanner.h:88
npstat::ArrayNDScanner::operator++
void operator++(int)
Definition:
ArrayNDScanner.h:75
npstat::ArrayNDScanner::getIndex
void getIndex(unsigned *index, unsigned indexBufferLen) const
Definition:
ArrayNDScanner.cc:27
npstat::ArrayNDScanner::ArrayNDScanner
ArrayNDScanner()=delete
npstat::ArrayNDScanner::ArrayNDScanner
ArrayNDScanner(const unsigned *shape, const unsigned lenShape)
Definition:
ArrayNDScanner.h:40
npstat
Definition:
AbsArrayProjector.h:14
npstat::ArrayNDScanner::operator++
ArrayNDScanner & operator++()
Definition:
ArrayNDScanner.h:68
npstat::ArrayNDScanner::dim_
unsigned dim_
Definition:
ArrayNDScanner.h:89
npstat::ArrayNDScanner
Definition:
ArrayNDScanner.h:36
npstat::ArrayNDScanner::ArrayNDScanner
ArrayNDScanner(const std::vector< unsigned > &shape)
Definition:
ArrayNDScanner.h:42
npstat::ArrayNDScanner::state
unsigned long state() const
Definition:
ArrayNDScanner.h:53
npstat::ArrayNDScanner::state_
unsigned long state_
Definition:
ArrayNDScanner.h:87
AlignmentPI::index
index
Definition:
AlignmentPayloadInspectorHelper.h:46
npstat::ArrayNDScanner::reset
void reset()
Definition:
ArrayNDScanner.h:65
npstat::ArrayNDScanner::maxState
unsigned long maxState() const
Definition:
ArrayNDScanner.h:56
Generated for CMSSW Reference Manual by
1.8.16