Program Listing for File ExternalStoppingConditions.h¶
↰ Return to documentation for file (/home/kpenev/projects/git/poet/poet_src/Evolve/ExternalStoppingConditions.h)
#ifndef __EXTERNAL_STOPPING_CONDITIONS_H
#define __EXTERNAL_STOPPING_CONDITIONS_H
#include "../Core/SharedLibraryExportMacros.h"
#include "StoppingCondition.h"
#include "DissipatingZone.h"
namespace Evolve {
class LIB_LOCAL RotFastCondition : public ExternalStoppingCondition {
private:
double __spin_thres;
DissipatingZone &__zone;
public:
RotFastCondition(double spin_thres, DissipatingZone &zone) :
__spin_thres(spin_thres), __zone(zone) {}
std::valarray<double> operator()(
Core::EvolModeType evol_mode,
const std::valarray<double> &orbit,
const std::valarray<double> &derivatives,
std::valarray<double> &stop_deriv
) const;
virtual std::string describe(int index = 0) const;
}; //End RotFastCondition class.
//#define EXTERNAL_CONDITION RotFastCondition(4.0*M_PI)
} //End Evolve namespace.
#endif