Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

export_Fitter.cxx

Go to the documentation of this file.
00001 
00012 #ifdef _MSC_VER
00013 // nonstandard extension used 'extern' before...
00014 # pragma warning(disable:4231)  
00015 
00016 // needs to have dll-interface used by client
00017 # pragma warning(disable:4251)  
00018 
00019 // non dll-interface struct
00020 # pragma warning(disable:4275)  
00021 
00022 // 'int' : forcing value to bool 'true' or 'false' (performance warning)
00023 # pragma warning(disable:4800)  
00024 #endif
00025 
00026 #include "functions/FunctionBase.h"
00027 #include "minimizers/Fitter.h"
00028 #include "minimizers/StatedFCN.h"
00029 
00030 #include <boost/python.hpp>
00031 
00032 using std::vector;
00033 using namespace boost::python;
00034 
00035 namespace hippodraw {
00036 namespace Python {
00037 
00038 void
00039 export_Fitter()
00040 {
00041   class_ < Fitter, bases<>,
00042     Fitter, boost::noncopyable >
00043     ( "Fitter",
00044       "Provides an interface to objective function minimizers.",
00045       no_init )
00046 
00047     .add_property ( "degreesOfFreedom", 
00048                     &Fitter::calcDegreesOfFreedom )
00049 
00050     .add_property ( "objectiveValue",
00051                     &Fitter::objectiveValue )
00052 
00053     .def ( "name", &Fitter::name,
00054            return_value_policy < copy_const_reference > (),
00055            "name () -> string\n"
00056            "\n"
00057            "Returns the minimizer name." )
00058 
00059     .def ( "getFCN", &Fitter::getFCN,
00060            return_value_policy < reference_existing_object > (),
00061            "getFCN () -> FCNBase\n"
00062            "\n"
00063            "Returns the objective function." )
00064 
00065     .def ( "minimize", &Fitter::calcBestFit,
00066            "minimize () -> boolean\n"
00067            "\n"
00068            "Attempts to do a minimization, returns True if successful." )
00069 
00070     .def ( "setFixedFlags", &Fitter::setFixedFlags,
00071            "setFixedFlags ( sequence ) -> None\n"
00072            "\n"
00073            "Sets which parameters that should be fixed during a fit.   A\n"
00074            "`1' in the sequence indicates corresponding parameters is fixed." )
00075 
00076     .def ( "setLimits",
00077            ( void ( Fitter::* ) // function pointer cast
00078              ( unsigned int, double, double ) ) // signature
00079            &Fitter::setLimits )
00080 
00081     .def ( "setLimits",
00082            ( void ( Fitter::* ) // function pointer cast
00083              ( const std::string &, double, double ) ) // signature
00084            &Fitter::setLimits,
00085            "setLimits ( name, low, high ) -> None\n"
00086            "setLimits ( index, low, high ) -> None\n"
00087            "\n"
00088            "Sets the limits on a model function parameter.  Only minimizers\n"
00089            "based on Minuit support this feature, others throw an exception." )
00090 
00091     .def ( "setStepSize",
00092            ( void ( Fitter::* ) // function pointer cast
00093              ( unsigned int, double ) ) // signature
00094            &Fitter::setStepSize )
00095 
00096     .def ( "setStepSize",
00097            ( void ( Fitter::* ) // function pointer cast
00098              ( const std::string &, double ) ) // signature
00099            &Fitter::setStepSize,
00100            "setStepSize ( name, value ) -> None\n"
00101            "setStepSize ( index, value ) -> None\n"
00102            "\n"
00103            "Sets the step size for the model function parameter.   Only\n"
00104            "minimizers based on Minuit support this function, others\n"
00105            "throw an exception." )
00106 
00107    ;
00108 }
00109 
00110 } // namespace Python
00111 } // namespace hippodraw

Generated for HippoDraw-1.14.8.5 by doxygen 1.4.3