// Titles void NDHist_Fixed::SetAxisTitles(std::vector<std::string> titles) { if(!CheckDim(titles.size())) throw std::runtime_error("NDHist_Fixed ERROR: Number of titles doesn't match number of axes."); for(unsigned idim = axes.size(); idim-->0;) axes[idim].SetTitle(titles[idim].c_str()); }
// Get overall bin index from individual axis indices int NDHist_Fixed::GetBin(std::vector<int> binx) { // return binw + waxis.GetNbins() * (binx + xaxis.GetNbins() * (biny + yaxis.GetNbins() * (binz))); if(!CheckDim(binx.size())) throw std::runtime_error("NDHist_Fixed ERROR: Number of bin indices does not match number of axes."); int bin = binx.back(); // Start with the nth dimension for(unsigned idim = axes.size()-1; idim-->0;) // Loop from (n-1)th dimension to first bin = binx[idim] + axes[idim].GetNbins() * bin; return bin; }
// Comparison of bins and ranges to allow arithmetic bool NDHist_Fixed::IsCompatible(const NDHist_Fixed& other) { if(nbins != other.nbins || !CheckDim(other.axes.size())) return false; bool compatability = true; for(unsigned idim = axes.size(); idim-->0;) compatability = compatability && axes[idim].GetNbins() == other.axes[idim].GetNbins() && axes[idim].GetXmin() == other.axes[idim].GetXmin() && axes[idim].GetXmax() == other.axes[idim].GetXmax(); return compatability; }
void __fastcall TResolution::setHeight(int Val) { this->FHeight = CheckDim(Val); }
void __fastcall TResolution::setWidth(int Val) { this->FWidth = CheckDim(Val); }