Program Listing for File Oblique20LinearQuantity.h¶
↰ Return to documentation for file (/home/kpenev/projects/git/poet/poet_src/unit_tests/testEvolve/Oblique20LinearQuantity.h)
#ifndef __OBLIQUE_2_0_LINEAR_QUANTITY_H
#define __OBLIQUE_2_0_LINEAR_QUANTITY_H
#include "../../Core/Functions.h"
#include "../../Core/InterpSolutionIterator.h"
class Oblique20LinearQuantity : public Core::OneArgumentDiffFunction {
private:
double
__total_angmom,
//units of the orbital angular momentum.
__initial_star_angmom,
__angmom_scale,
__initial_indefinite_integral;
double indefinite_integral(double star_angmom) const;
public:
Oblique20LinearQuantity(double total_angmom,
double orbital_angmom,
double initial_star_angmom);
double operator()(double star_angmom) const;
double range_high() const {return __initial_star_angmom * __angmom_scale;}
double range_low() const {return (__total_angmom - 1.0) * __angmom_scale;}
Core::InterpSolutionIterator crossings(double = 0) const
{
throw Core::Error::Runtime(
"Finding all solutinos of Oblique20LinearQuantity not supported!"
);
};
const Core::FunctionDerivatives *deriv(double star_angmom) const;
}; //End Oblique20LinearQuantity class.
#endif