00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef PRE_EVAL_NEW_POINT_BARRIER_STEP_H
00030 #define PRE_EVAL_NEW_POINT_BARRIER_STEP_H
00031
00032
00033 #include "IterationPack_AlgorithmStep.hpp"
00034 #include "Teuchos_StandardCompositionMacros.hpp"
00035 #include "Teuchos_StandardMemberCompositionMacros.hpp"
00036
00037 #include "MoochoPack_Types.hpp"
00038 #include "IterationPack_AlgorithmStep.hpp"
00039
00040 #include "OptionsFromStreamPack_SetOptionsFromStreamNode.hpp"
00041 #include "OptionsFromStreamPack_SetOptionsToTargetBase.hpp"
00042
00043 namespace MoochoPack {
00044
00051 class PreEvalNewPointBarrier_Step
00052 : public IterationPack::AlgorithmStep
00053 {
00054 public:
00055
00069 STANDARD_MEMBER_COMPOSITION_MEMBERS( value_type, relative_bound_push );
00070
00084 STANDARD_MEMBER_COMPOSITION_MEMBERS( value_type, absolute_bound_push );
00085
00089 bool do_step(Algorithm& algo, poss_type step_poss, IterationPack::EDoStepType type
00090 , poss_type assoc_step_poss);
00091
00092
00093 void print_step( const IterationPack::Algorithm& algo, poss_type step_poss, IterationPack::EDoStepType type
00094 , poss_type assoc_step_poss, std::ostream& out, const std::string& leading_str ) const;
00096
00099 PreEvalNewPointBarrier_Step(
00100 const value_type relative_bound_push = 0.01,
00101 const value_type absolute_bound_push = 0.001
00102 );
00104
00105 };
00106
00107 class PreEvalNewPointBarrier_StepSetOptions
00108 : public OptionsFromStreamPack::SetOptionsFromStreamNode,
00109 public OptionsFromStreamPack::SetOptionsToTargetBase< PreEvalNewPointBarrier_Step >
00110 {
00111 public:
00112 PreEvalNewPointBarrier_StepSetOptions(
00113 PreEvalNewPointBarrier_Step* target = 0,
00114 const char opt_grp_name[] = "PreEvalNewPointBarrier" );
00115
00116 protected:
00117
00119 void setOption( int option_num, const std::string& option_value );
00120
00121 };
00122
00123
00124 }
00125
00126 #endif // PRE_EVAL_NEW_POINT_BARRIER_STEP_H