Program Listing for File TransformedSolution.h¶
↰ Return to documentation for file (/home/kpenev/projects/git/poet/poet_src/unit_tests/testEvolve/TransformedSolution.h)
#ifndef __TRANSFORMED_SOLUTION_H
#define __TRANSFORMED_SOLUTION_H
#include "RealEvolutionQuantity.h"
#include "../../Core/Functions.h"
#include <vector>
#include <list>
namespace Evolve {
class TransformedSolution {
private:
std::vector< const std::list<double> *> __transformed_orbit;
// std::vector< const std::list<double> *> __transformed_deriv;
std::vector< std::list<const Core::OneArgumentDiffFunction *> >
__transforms;
std::list<double> __change_ages;
public:
TransformedSolution() :
__transformed_orbit(NUM_REAL_QUANTITIES, NULL),
// __transformed_deriv(NUM_REAL_QUANTITIES)
__transforms(AGE)
{};
TransformedSolution(
const std::vector<const Core::OneArgumentDiffFunction *> &
transforms,
double start_age
) :
__transformed_orbit(NUM_REAL_QUANTITIES, NULL),
// __transformed_deriv(NUM_REAL_QUANTITIES)
__transforms(AGE)
{
add_transformation(transforms, start_age);
}
void add_transformation(
//The order is defined by RealEvolutionQuantity.
const std::vector<const Core::OneArgumentDiffFunction *> &
transforms,
double change_age
);
const std::vector< const std::list<double> * > &operator()(
const std::vector< const std::list<double> * > &solution
);
const std::vector< const std::list<double> * >
&get_transformed_solution() const
{return __transformed_orbit;}
/* const std::list<double> *get_tabulated_var_deriv(
EvolVarType var_type) const;*/
~TransformedSolution();
};
} //End Evolve namespace.
#endif