Quad12F.h

Go to the documentation of this file.
00001 // @(#)root/minuit2:$Id: Quad12F.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 #include "Minuit2/FCNBase.h"
00011 
00012 namespace ROOT {
00013 
00014    namespace Minuit2 {
00015 
00016 
00017 class Quad12F : public FCNBase {
00018 
00019 public:
00020 
00021   double operator()(const std::vector<double>& par) const {
00022 
00023     double x = par[0];
00024     double y = par[1];
00025     double z = par[2];
00026     double w = par[3];
00027     double x0 = par[4];
00028     double y0 = par[5];
00029     double z0 = par[6];
00030     double w0 = par[7];
00031     double x1 = par[8];
00032     double y1 = par[9];
00033     double z1 = par[10];
00034     double w1 = par[11];
00035 
00036 
00037     return ( (1./70.)*(21*x*x + 20*y*y + 19*z*z - 14*x*z - 20*y*z) + w*w + (1./70.)*(21*x0*x0 + 20*y0*y0 + 19*z0*z0 - 14*x0*z0 - 20*y0*z0) + w0*w0 + (1./70.)*(21*x1*x1 + 20*y1*y1 + 19*z1*z1 - 14*x1*z1 - 20*y1*z1) + w1*w1);
00038   }
00039 
00040   double Up() const {return 1.;}
00041 
00042 private:
00043 
00044 };
00045 
00046   }  // namespace Minuit2
00047 
00048 }  // namespace ROOT

Generated on Tue Jul 5 14:37:13 2011 for ROOT_528-00b_version by  doxygen 1.5.1