00001 // @(#)root/minuit2:$Id: MnPlot.h 20880 2007-11-19 11:23:41Z rdm $ 00002 // Authors: M. Winkler, F. James, L. Moneta, A. Zsenei 2003-2005 00003 00004 /********************************************************************** 00005 * * 00006 * Copyright (c) 2005 LCG ROOT Math team, CERN/PH-SFT * 00007 * * 00008 **********************************************************************/ 00009 00010 #ifndef ROOT_Minuit2_MnPlot 00011 #define ROOT_Minuit2_MnPlot 00012 00013 #include "Minuit2/MnConfig.h" 00014 #include <vector> 00015 #include <utility> 00016 00017 namespace ROOT { 00018 00019 namespace Minuit2 { 00020 00021 00022 /** MnPlot produces a text-screen graphical output of (x,y) points, e.g. 00023 from Scan or Contours. 00024 */ 00025 00026 class MnPlot { 00027 00028 public: 00029 00030 MnPlot() : fPageWidth(80), fPageLength(30) {} 00031 00032 MnPlot(unsigned int width, unsigned int length) : fPageWidth(width), fPageLength(length) { 00033 if(fPageWidth > 120) fPageWidth = 120; 00034 if(fPageLength > 56) fPageLength = 56; 00035 } 00036 00037 ~MnPlot() {} 00038 00039 void operator()(const std::vector<std::pair<double,double> >&) const; 00040 void operator()(double, double, const std::vector<std::pair<double,double> >&) const; 00041 00042 unsigned int Width() const {return fPageWidth;} 00043 unsigned int Length() const {return fPageLength;} 00044 00045 private: 00046 00047 unsigned int fPageWidth; 00048 unsigned int fPageLength; 00049 }; 00050 00051 } // namespace Minuit2 00052 00053 } // namespace ROOT 00054 00055 #endif // ROOT_Minuit2_MnPlot