예제 #1
0
// 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());
}
예제 #2
0
// 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;
}
예제 #3
0
// 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;
}
예제 #4
0
void __fastcall TResolution::setHeight(int Val)
{
	this->FHeight = CheckDim(Val);
}
예제 #5
0
void __fastcall TResolution::setWidth(int Val)
{
	this->FWidth = CheckDim(Val);
}