LSSTApplications
20.0.0
LSSTDataManagementBasePackage
stack
1a1d771
Linux64
jointcal
20.0.0
include
lsst
jointcal
Histo4d.h
Go to the documentation of this file.
1
// -*- LSST-C++ -*-
2
/*
3
* This file is part of jointcal.
4
*
5
* Developed for the LSST Data Management System.
6
* This product includes software developed by the LSST Project
7
* (https://www.lsst.org).
8
* See the COPYRIGHT file at the top-level directory of this distribution
9
* for details of code ownership.
10
*
11
* This program is free software: you can redistribute it and/or modify
12
* it under the terms of the GNU General Public License as published by
13
* the Free Software Foundation, either version 3 of the License, or
14
* (at your option) any later version.
15
*
16
* This program is distributed in the hope that it will be useful,
17
* but WITHOUT ANY WARRANTY; without even the implied warranty of
18
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
* GNU General Public License for more details.
20
*
21
* You should have received a copy of the GNU General Public License
22
* along with this program. If not, see <https://www.gnu.org/licenses/>.
23
*/
24
25
#ifndef LSST_JOINTCAL_HISTO4D_H
26
#define LSST_JOINTCAL_HISTO4D_H
27
28
namespace
lsst
{
29
namespace
jointcal
{
30
33
class
SparseHisto4d
{
34
public
:
35
SparseHisto4d
() {}
36
// obvious meanings. NEntries is used as the size of the primary allocation.
37
SparseHisto4d
(
const
int
n1,
double
min1,
double
max1,
const
int
n2,
double
min2,
double
max2,
38
const
int
n3,
double
min3,
double
max3,
const
int
n4,
double
min4,
double
max4,
39
const
int
nEntries);
41
void
fill
(
const
double
x
[4]);
43
void
fill
(
const
double
x1,
const
double
x2,
const
double
x3,
const
double
x4);
45
int
maxBin
(
double
x
[4]);
46
48
void
zeroBin
(
double
x
[4]);
49
51
void
binLimits
(
const
double
x
[4],
const
int
idim,
double
&xMin,
double
&xMax)
const
;
52
54
int
getNEntries
()
const
{
return
_ndata; }
55
56
~SparseHisto4d
() {}
57
58
// private:
59
int
code_value
(
const
double
x
[4])
const
;
60
void
inverse_code
(
const
int
code,
double
x
[4])
const
;
61
void
sort
();
62
void
print
()
const
;
63
64
private
:
65
std::unique_ptr<int[]>
_data;
66
int
_ndata;
67
int
_dataSize;
68
int
_n[4];
69
double
_minVal[4], _maxVal[4];
70
double
_scale[4];
71
bool
_sorted;
72
};
73
}
// namespace jointcal
74
}
// namespace lsst
75
76
#endif // LSST_JOINTCAL_HISTO4D_H
lsst::jointcal::SparseHisto4d::zeroBin
void zeroBin(double x[4])
Definition:
Histo4d.cc:139
lsst::jointcal::SparseHisto4d::binLimits
void binLimits(const double x[4], const int idim, double &xMin, double &xMax) const
return the bin limits of dimension idim (0<=idim<4), around point X.
Definition:
Histo4d.cc:154
lsst::jointcal::SparseHisto4d::SparseHisto4d
SparseHisto4d()
Definition:
Histo4d.h:35
lsst::jointcal::SparseHisto4d::code_value
int code_value(const double x[4]) const
Definition:
Histo4d.cc:68
lsst::jointcal::SparseHisto4d::sort
void sort()
Definition:
Histo4d.cc:86
x
double x
Definition:
ChebyshevBoundedField.cc:277
lsst::jointcal::SparseHisto4d::print
void print() const
Definition:
Histo4d.cc:162
lsst::jointcal
Definition:
Associations.h:49
lsst
A base class for image defects.
Definition:
imageAlgorithm.dox:1
lsst::jointcal::SparseHisto4d::getNEntries
int getNEntries() const
Definition:
Histo4d.h:54
lsst::jointcal::SparseHisto4d::inverse_code
void inverse_code(const int code, double x[4]) const
Definition:
Histo4d.cc:78
lsst::jointcal::SparseHisto4d
A class to histogram in 4 dimensions.
Definition:
Histo4d.h:33
lsst::jointcal::SparseHisto4d::maxBin
int maxBin(double x[4])
Definition:
Histo4d.cc:117
std::unique_ptr< int[]>
lsst::jointcal::SparseHisto4d::fill
void fill(const double x[4])
Definition:
Histo4d.cc:93
lsst::jointcal::SparseHisto4d::~SparseHisto4d
~SparseHisto4d()
Definition:
Histo4d.h:56
Generated on Wed Jun 24 2020 18:10:07 for LSSTApplications by
1.8.18