void RegionFileLoader::LoadDataFromFile(std::ifstream &file) { if (file.fail()) { std::cerr << "Error <RegionFileLoader::LoadDataFromFile> File is unreadable" << std::endl; return; } Double_t sa; std::string aline; std::stringstream ss; while(1) { std::getline(file,aline); if ( FileIsNotOkay(file) ) break; else if ( LineShouldBeSkipped(aline) ) continue; else if ( BeginningOfRegions(aline) ) { // std::cout << aline << std::endl; Regions regions = ReadRegions(file); if (regions.size()>0) fTheRegions.push_back(regions); } } file.close(); }
Double_t RegionIntegratorMultiDim::RegionIntegral(const ROOT::Math::IMultiGenFunction &f, const Regions ®) { Double_t result = 0; Double_t xlow[2], xhigh[2]; for (UInt_t i=0; i<reg.size(); i++) { if (fUseCenters == true) { xlow[0] = reg[i].cntr_xlow; xlow[1] = reg[i].cntr_ylow; xhigh[0] = reg[i].cntr_xhigh; xhigh[1] = reg[i].cntr_yhigh; } else { xlow[0] = reg[i].grid_xlow; xlow[1] = reg[i].grid_ylow; xhigh[0] = reg[i].grid_xhigh; xhigh[1] = reg[i].grid_yhigh; } result += Integral(f, xlow, xhigh); } return result; }