Fields::Fields(Hamiltonian &ham, ExtrinsicCurvature kij) : k(kij) { // Get data from the Hamiltonian. mass = ham.getBareMass(); sigma = ham.getSingularAngularPart(); regPower = ham.getSingularPower(); u = ham.getRemainder(); // Set up the basis. int* ranks = ham.getRanks(); basis.setRanks(ranks[0], ranks[1]); basis.setMaximumRadius(ham.getMaximumRadius()); computeDerivatives(); delete[] ranks; }