flavour
calcuba Class Reference

class to do the calculus of a constraint based on a GiNaC compiled expression More...

#include <model.h>

Inheritance diagram for calcuba:
Collaboration diagram for calcuba:

Public Member Functions

 calcuba (observable *ob, const FUNCP_CUBA &e0)
 
double operator() (const parameters &p) const
 

Public Attributes

shared_ptr< observableo
 
FUNCP_CUBA e
 

Detailed Description

class to do the calculus of a constraint based on a GiNaC compiled expression

Definition at line 248 of file model.h.

Constructor & Destructor Documentation

calcuba::calcuba ( observable ob,
const FUNCP_CUBA &  e0 
)
inline

Definition at line 250 of file model.h.

250 : calcu(), o(ob), e(e0){}
Base class to do the calculus of a constraint to the model.
Definition: model.h:237
shared_ptr< observable > o
Definition: model.h:276
FUNCP_CUBA e
Definition: model.h:277

Member Function Documentation

double calcuba::operator() ( const parameters p) const
inlinevirtual
Parameters
hipothesisthe theoretical hypothesis
Returns
the logarithm of the probability of measuring what was measured, assuming that the hypothesis is true

Implements calcu.

Definition at line 252 of file model.h.

References parameters::values.

252  {
253  double ret=1000;
254  int pass=1;
255 
256  /* try{
257  ret=ex_to<numeric>(e.subs(p.p,subs_options::no_pattern).evalf()).to_double();
258  }
259  catch(GiNaC::pole_error e){
260  pass=0;
261  cout<<"Pole error"<<endl;
262  }
263  catch(...){
264  cout<<"Other exception"<<endl;
265  exit(1);
266  }
267  */
268  int n=p.values.size(), m=1;
269  e(&n,&(p.values[0]),&m,&ret);
270  if(pass) ret=o->loglikelihood(ret);
271  else ret=1000;
272 
273  return ret;
274  }
shared_ptr< observable > o
Definition: model.h:276
FUNCP_CUBA e
Definition: model.h:277
vector< double > values
Definition: model.h:232

Member Data Documentation

FUNCP_CUBA calcuba::e

Definition at line 277 of file model.h.

shared_ptr<observable> calcuba::o

Definition at line 276 of file model.h.


The documentation for this class was generated from the following file: