|
inlib
1.2.0
|

Public Types | |
| typedef axis< TC >::bn_t | bn_t |
| typedef unsigned int | dim_t |
Public Member Functions | |
| histo_data () | |
| histo_data (const histo_data &a_from) | |
| histo_data & | operator= (const histo_data &a_from) |
| virtual | ~histo_data () |
| void | base_reset () |
| TN | get_entries () const |
| TW | get_Sw () const |
| TW | get_Sw2 () const |
| bool | get_ith_axis_Sxw (dim_t a_axis, TC &a_value) const |
| bool | get_ith_axis_Sx2w (dim_t a_axis, TC &a_value) const |
| TN | get_all_entries () const |
| bool | is_out (bn_t aOffset) const |
| void | get_indices (bn_t aOffset, std::vector< int > &aIs) const |
| bool | get_offset (const std::vector< int > &aIs, bn_t &a_offset) const |
Public Attributes | |
| std::string | m_title |
| dim_t | m_dimension |
| bn_t | m_bin_number |
| std::vector< TN > | m_bin_entries |
| std::vector< TW > | m_bin_Sw |
| std::vector< TW > | m_bin_Sw2 |
| std::vector< std::vector< TC > > | m_bin_Sxw |
| std::vector< std::vector< TC > > | m_bin_Sx2w |
| std::vector< axis< TC > > | m_axes |
Definition at line 20 of file histo_data.
| typedef axis<TC>::bn_t inlib::histo::histo_data< TC, TN, TW >::bn_t |
Definition at line 22 of file histo_data.
| typedef unsigned int inlib::histo::histo_data< TC, TN, TW >::dim_t |
Definition at line 23 of file histo_data.
| inlib::histo::histo_data< TC, TN, TW >::histo_data | ( | ) | [inline] |
Definition at line 25 of file histo_data.
:m_dimension(0) ,m_bin_number(0) //,m_mode(0) {}
| inlib::histo::histo_data< TC, TN, TW >::histo_data | ( | const histo_data< TC, TN, TW > & | a_from | ) | [inline] |
Definition at line 31 of file histo_data.
:m_title(a_from.m_title) ,m_dimension(a_from.m_dimension) ,m_bin_number(a_from.m_bin_number) //,m_mode(a_from.m_mode) // Arrays : ,m_bin_entries(a_from.m_bin_entries) ,m_bin_Sw(a_from.m_bin_Sw) ,m_bin_Sw2(a_from.m_bin_Sw2) ,m_bin_Sxw(a_from.m_bin_Sxw) ,m_bin_Sx2w(a_from.m_bin_Sx2w) ,m_axes(a_from.m_axes) //,m_annotations(a_from.m_annotations) {}
| virtual inlib::histo::histo_data< TC, TN, TW >::~histo_data | ( | ) | [inline, virtual] |
Definition at line 63 of file histo_data.
{}
| void inlib::histo::histo_data< TC, TN, TW >::base_reset | ( | ) | [inline] |
Definition at line 65 of file histo_data.
{ //used in multiply,divide.
// Reset content (different of clear that deallocate all internal things).
for(bn_t ibin=0;ibin<m_bin_number;ibin++) {
m_bin_entries[ibin] = 0;
m_bin_Sw[ibin] = 0;
m_bin_Sw2[ibin] = 0;
for(dim_t iaxis=0;iaxis<m_dimension;iaxis++) {
m_bin_Sxw[ibin][iaxis] = 0;
m_bin_Sx2w[ibin][iaxis] = 0;
}
}
}
| TN inlib::histo::histo_data< TC, TN, TW >::get_all_entries | ( | ) | const [inline] |
Definition at line 131 of file histo_data.
{
TN number = 0;
for(bn_t ibin=0;ibin<m_bin_number;ibin++) {
number += m_bin_entries[ibin];
}
return number;
}
| TN inlib::histo::histo_data< TC, TN, TW >::get_entries | ( | ) | const [inline] |
Definition at line 80 of file histo_data.
{
TN number = 0;
for(bn_t ibin=0;ibin<m_bin_number;ibin++) {
if(!is_out(ibin)) {
number += m_bin_entries[ibin];
}
}
return number;
}
| void inlib::histo::histo_data< TC, TN, TW >::get_indices | ( | bn_t | aOffset, |
| std::vector< int > & | aIs | ||
| ) | const [inline] |
Definition at line 151 of file histo_data.
{
int offset = aOffset;
{for(int iaxis=m_dimension-1;iaxis>=0;iaxis--) {
aIs[iaxis] = offset/m_axes[iaxis].m_offset;
offset -= aIs[iaxis] * m_axes[iaxis].m_offset;
}}
for(dim_t iaxis=0;iaxis<m_dimension;iaxis++) {
if(aIs[iaxis]==0) {
aIs[iaxis] = axis<TC>::UNDERFLOW_BIN;
} else if(aIs[iaxis]==int(m_axes[iaxis].m_number_of_bins)+1) {
aIs[iaxis] = axis<TC>::OVERFLOW_BIN;
} else {
aIs[iaxis]--;
}
}
}
| bool inlib::histo::histo_data< TC, TN, TW >::get_ith_axis_Sx2w | ( | dim_t | a_axis, |
| TC & | a_value | ||
| ) | const [inline] |
Definition at line 120 of file histo_data.
{
a_value = 0;
if(a_axis>=m_dimension) return false;
for(bn_t ibin=0;ibin<m_bin_number;ibin++) {
if(!is_out(ibin)) {
a_value += m_bin_Sx2w[ibin][a_axis];
}
}
return true;
}
| bool inlib::histo::histo_data< TC, TN, TW >::get_ith_axis_Sxw | ( | dim_t | a_axis, |
| TC & | a_value | ||
| ) | const [inline] |
Definition at line 109 of file histo_data.
{
a_value = 0;
if(a_axis>=m_dimension) return false;
for(bn_t ibin=0;ibin<m_bin_number;ibin++) {
if(!is_out(ibin)) {
a_value += m_bin_Sxw[ibin][a_axis];
}
}
return true;
}
| bool inlib::histo::histo_data< TC, TN, TW >::get_offset | ( | const std::vector< int > & | aIs, |
| bn_t & | a_offset | ||
| ) | const [inline] |
Definition at line 169 of file histo_data.
{
// aIs[iaxis] is given in in-range indexing :
// - [0,n[iaxis]-1] for in-range bins
// - UNDERFLOW_BIN for the iaxis underflow bin
// - OVERFLOW_BIN for the iaxis overflow bin
a_offset = 0;
if(!m_dimension) return false;
bn_t ibin;
for(dim_t iaxis=0;iaxis<m_dimension;iaxis++) {
if(!m_axes[iaxis].in_range_to_absolute_index(aIs[iaxis],ibin)) {
a_offset = 0;
return false;
}
a_offset += ibin * m_axes[iaxis].m_offset;
}
return true;
}
| TW inlib::histo::histo_data< TC, TN, TW >::get_Sw | ( | ) | const [inline] |
Definition at line 89 of file histo_data.
{
TW sw = 0;
for(bn_t ibin=0;ibin<m_bin_number;ibin++) {
if(!is_out(ibin)) {
sw += m_bin_Sw[ibin];
}
}
return sw;
}
| TW inlib::histo::histo_data< TC, TN, TW >::get_Sw2 | ( | ) | const [inline] |
Definition at line 99 of file histo_data.
{
TW sw2 = 0;
for(bn_t ibin=0;ibin<m_bin_number;ibin++) {
if(!is_out(ibin)) {
sw2 += m_bin_Sw2[ibin];
}
}
return sw2;
}
| bool inlib::histo::histo_data< TC, TN, TW >::is_out | ( | bn_t | aOffset | ) | const [inline] |
Definition at line 139 of file histo_data.
{
int offset = aOffset;
int index;
for(int iaxis=m_dimension-1;iaxis>=0;iaxis--) {
index = offset/m_axes[iaxis].m_offset;
if(index==0) return true;
if(index==(int(m_axes[iaxis].m_number_of_bins)+1)) return true;
offset -= index * m_axes[iaxis].m_offset;
}
return false;
}
| histo_data& inlib::histo::histo_data< TC, TN, TW >::operator= | ( | const histo_data< TC, TN, TW > & | a_from | ) | [inline] |
Reimplemented in inlib::histo::profile_data< TC, TN, TW, TV >.
Definition at line 46 of file histo_data.
{
m_title = a_from.m_title;
m_dimension = a_from.m_dimension;
m_bin_number = a_from.m_bin_number;
//m_mode = a_from.m_mode;
// Arrays :
m_bin_entries = a_from.m_bin_entries;
m_bin_Sw = a_from.m_bin_Sw;
m_bin_Sw2 = a_from.m_bin_Sw2;
m_bin_Sxw = a_from.m_bin_Sxw;
m_bin_Sx2w = a_from.m_bin_Sx2w;
m_axes = a_from.m_axes;
//
//m_annotations = a_from.m_annotations;
return *this;
}
| std::vector< axis<TC> > inlib::histo::histo_data< TC, TN, TW >::m_axes |
Definition at line 199 of file histo_data.
| std::vector<TN> inlib::histo::histo_data< TC, TN, TW >::m_bin_entries |
Definition at line 193 of file histo_data.
| bn_t inlib::histo::histo_data< TC, TN, TW >::m_bin_number |
Definition at line 192 of file histo_data.
| std::vector<TW> inlib::histo::histo_data< TC, TN, TW >::m_bin_Sw |
Definition at line 194 of file histo_data.
| std::vector<TW> inlib::histo::histo_data< TC, TN, TW >::m_bin_Sw2 |
Definition at line 195 of file histo_data.
| std::vector< std::vector<TC> > inlib::histo::histo_data< TC, TN, TW >::m_bin_Sx2w |
Definition at line 197 of file histo_data.
| std::vector< std::vector<TC> > inlib::histo::histo_data< TC, TN, TW >::m_bin_Sxw |
Definition at line 196 of file histo_data.
| dim_t inlib::histo::histo_data< TC, TN, TW >::m_dimension |
Definition at line 190 of file histo_data.
| std::string inlib::histo::histo_data< TC, TN, TW >::m_title |
Definition at line 189 of file histo_data.
1.7.5.1