Iterates over the tabulated solution after an evolution calculation. More...
#include <ConstSolutionIterator.h>
Public Member Functions | |
ConstSolutionIterator (const OrbitSolver &solver, const BinarySystem &system, const InterpolatedEvolutionStar &star, double start_age, double end_age, double timestep, const std::list< double > &required_ages=std::list< double >()) | |
Start iterating over a solution. More... | |
const ConstSolutionIterator & | operator++ () |
Move to the next tabulated point. More... | |
operator bool () | |
Did we move past the last tabulated evolution point. More... | |
double | real_quantity (OutCol::OutputColumns quantity) |
Get a real value quantity for the current step. More... | |
Core::EvolModeType | evolution_mode () |
Get the evolution mode for the current step. More... | |
bool | wind_saturation () |
Was the wind saturated for the current step? More... | |
Private Member Functions | |
void | create_missing_lists (const std::list< double > &tabulation_ages) |
Creates lists for non-orbital quantities and sets the corresponding iterators. More... | |
void | fix_no_evolution (double start_age, double end_age, double timestep, const std::list< double > &required_ages=std::list< double >()) |
Handles the case when no evolution was actually calculated. More... | |
Private Attributes | |
std::vector< std::list< double >::const_iterator > | __real_iterators |
Iterators to the tabulated real values quantities. More... | |
std::list< Core::EvolModeType >::const_iterator | __mode |
Iterator over the tabulated evolution mode. More... | |
std::list< bool >::const_iterator | __wind_saturation |
Iterator over the tabulated wind saturation state. More... | |
std::list< double >::const_iterator | __last_age |
One past the last tabulated age. More... | |
double | __mstar |
The mass of the star. More... | |
double | __mplanet |
The mass of the planet. More... | |
Eigen::Vector3d | __stellar_angmom |
Total angular momentum vector of the star in the reference frame of the surface zone. More... | |
const InterpolatedEvolutionStar & | __star |
The star in the system. More... | |
Static Private Attributes | |
static std::list< double > | __placeholder_list |
Location for undefined iterators to point to. More... | |
static std::list< double >::const_iterator | __placeholder_iterator =__placeholder_list.end() |
All undefined entries in __real_iterators are set to this. More... | |
Iterates over the tabulated solution after an evolution calculation.
Definition at line 20 of file ConstSolutionIterator.h.
Evolve::ConstSolutionIterator::ConstSolutionIterator | ( | const OrbitSolver & | solver, |
const BinarySystem & | system, | ||
const InterpolatedEvolutionStar & | star, | ||
double | start_age, | ||
double | end_age, | ||
double | timestep, | ||
const std::list< double > & | required_ages = std::list<double>() |
||
) |
Start iterating over a solution.
solver | The solver which calculated the evolution. |
system | The binary system that was evolved. |
star | The star that was evolved need modification privileges only if no evolution was calculated. |
start_age | The starting age if no orbit was calculated. Ignored if solver contains an orbit. |
end_age | The starting age if no orbit was calculated. Ignored if solver contains an orbit. |
timestep | The time step if no orbit was calculated. Ignored if solver contains an orbit. |
required_ages | A list of ages for which an output line must be written. Ignored if solver contains an orbit |
Definition at line 117 of file ConstSolutionIterator.cpp.
|
private |
Creates lists for non-orbital quantities and sets the corresponding iterators.
tabulation_ages | The ages at which to tabulate quantities. |
Definition at line 9 of file ConstSolutionIterator.cpp.
|
inline |
Get the evolution mode for the current step.
Definition at line 120 of file ConstSolutionIterator.h.
|
private |
Handles the case when no evolution was actually calculated.
start_age | The starting age if no orbit was calculated. Ignored if solver contains an orbit. |
end_age | The starting age if no orbit was calculated. Ignored if solver contains an orbit. |
timestep | The time step if no orbit was calculated. Ignored if solver contains an orbit. |
required_ages | A list of ages for which an output line must be written. Ignored if solver contains an orbit |
Definition at line 65 of file ConstSolutionIterator.cpp.
|
inline |
Did we move past the last tabulated evolution point.
Definition at line 114 of file ConstSolutionIterator.h.
const ConstSolutionIterator & Evolve::ConstSolutionIterator::operator++ | ( | ) |
Move to the next tabulated point.
Definition at line 204 of file ConstSolutionIterator.cpp.
double Evolve::ConstSolutionIterator::real_quantity | ( | OutCol::OutputColumns | quantity | ) |
Get a real value quantity for the current step.
Definition at line 225 of file ConstSolutionIterator.cpp.
|
inline |
Was the wind saturated for the current step?
Definition at line 123 of file ConstSolutionIterator.h.
|
private |
One past the last tabulated age.
Definition at line 40 of file ConstSolutionIterator.h.
|
private |
Iterator over the tabulated evolution mode.
Definition at line 34 of file ConstSolutionIterator.h.
|
private |
The mass of the planet.
Definition at line 43 of file ConstSolutionIterator.h.
|
private |
The mass of the star.
Definition at line 43 of file ConstSolutionIterator.h.
|
staticprivate |
All undefined entries in __real_iterators are set to this.
Definition at line 31 of file ConstSolutionIterator.h.
|
staticprivate |
Location for undefined iterators to point to.
Definition at line 28 of file ConstSolutionIterator.h.
|
private |
Iterators to the tabulated real values quantities.
The order is defined by OutCol::OutputColumns:
Definition at line 25 of file ConstSolutionIterator.h.
|
private |
The star in the system.
Definition at line 53 of file ConstSolutionIterator.h.
|
private |
Total angular momentum vector of the star in the reference frame of the surface zone.
Definition at line 50 of file ConstSolutionIterator.h.
|
private |
Iterator over the tabulated wind saturation state.
Definition at line 37 of file ConstSolutionIterator.h.