LCOV - code coverage report
Current view: top level - bnmin1/src - minimmodel.cc (source / functions) Hit Total Coverage
Test: casacpp_coverage.info Lines: 0 30 0.0 %
Date: 2024-10-12 00:35:29 Functions: 0 7 0.0 %

          Line data    Source code
       1             : /**
       2             :    Bojan Nikolic <bojan@bnikolic.co.uk> 
       3             :    Initial version 2003
       4             : 
       5             :    This file is part of BNMin1 and is licensed under GNU General
       6             :    Public License version 2
       7             : 
       8             :    \file minimmodel.cxx
       9             :    Renamed to minimodel.cc 2023
      10             : 
      11             : */
      12             : 
      13             : #include "minimmodel.h"
      14             : #include <cmath>
      15             : 
      16             : namespace Minim {
      17             : 
      18           0 :   Model::Model(void) 
      19             :   {
      20           0 :   } 
      21             : 
      22           0 :   Model::~Model(void) 
      23             :   {
      24           0 :   } 
      25             : 
      26           0 :   void     Model::AddParams ( std::vector< Minim::DParamCtr > & /*pars*/ )
      27             :   {
      28             : 
      29           0 :   }
      30             : 
      31           0 :   void     Model::AddParams ( std::vector< Minim::DParamCtr > &pars , 
      32             :                               std::string &prefix)
      33             :   {
      34             :     
      35           0 :     std::vector< Minim::DParamCtr > scratchpars;
      36           0 :     this->AddParams( scratchpars) ;
      37             : 
      38           0 :     for (unsigned j (0) ; j < scratchpars.size() ; ++j )
      39             :       {
      40           0 :         ParamCtr<double> pp( scratchpars[j].p, 
      41           0 :                              prefix+scratchpars[j].name, 
      42           0 :                              scratchpars[j].dofit, 
      43           0 :                              scratchpars[j].comment);
      44             :         
      45           0 :         pars.push_back(pp);
      46           0 :       }
      47             :     
      48           0 :   }
      49             :   
      50           0 :   double Minimisable::lLikely(void) const
      51             :   {
      52           0 :     std::vector<double> res(nres());
      53           0 :     residuals(res);
      54             :     
      55           0 :     double ss=0;
      56           0 :     for (size_t i=0; i < res.size() ; ++i)
      57           0 :       ss += std::pow(res[i],2);
      58             : 
      59             :     // Account for the (2 sigma^2) at the bottom of likelihood....
      60           0 :     return 0.5*ss;
      61           0 :   }
      62             : 
      63           0 :   size_t nPars(Model &m)
      64             :   {
      65           0 :     std::vector<Minim::DParamCtr> pars;
      66           0 :     m.AddParams(pars);
      67           0 :     return pars.size();
      68           0 :   }
      69             : 
      70             : }

Generated by: LCOV version 1.16