//////////////////////////////////////////////////////////////////////// /// \class RAT::Optimisers::Surface /// /// \brief Evaluates FOM surface /// /// \author J Amey /// \author Matt Mottram < m.mottram@qmul.ac.uk> -- contact person /// /// REVISION HISTORY:\n /// 08/2012 : J.Amey - First Revision, new file. \n /// /// \details This optimiser evaluates the figure of merit at a constant /// number of divisions over a range of the parameter space. /// //////////////////////////////////////////////////////////////////////// #ifndef __RAT_Optimiser_Surface_ #define __RAT_Optimiser_Surface_ #include #include #include namespace RAT { namespace Optimisers { class Surface : public Optimiser { public: virtual std::string GetName() const { return Surface::Name(); } static std::string Name() { return std::string( "surface" ); } /// Initialise the Optimiser void Initialise( const std::string& param ); void BeginOfRun( DS::Run& ) { } void EndOfRun( DS::Run& ) { } virtual double Minimise(); virtual double Maximise(); protected: /// To evaluate method over parameter space virtual void Evaluate(); virtual void Scan( std::vector coords, int dimension ); std::vector fStartp; std::vector fData; std::vector fIncs; TTree* ft; int fDiv; int fTotalDim; }; } //::Optimiser } //::RAT #endif