gambit is hosted by Hepforge, IPPP Durham
GAMBIT  v1.5.0-2191-ga4742ac
a Global And Modular Bsm Inference Tool
daFunk::FunkDelta Class Reference

#include <daFunk.hpp>

Inheritance diagram for daFunk::FunkDelta:
Collaboration diagram for daFunk::FunkDelta:

Public Member Functions

 FunkDelta (std::string arg, double pos, double width)
 
double value (const std::vector< double > &data, size_t bindID)
 
- Public Member Functions inherited from daFunk::FunkBase
 FunkBase ()
 
virtual ~FunkBase ()
 
template<typename... Args>
Funk set (std::string arg, Funk g, Args... args)
 
template<typename... Args>
Funk set (std::string arg, double x, Args... args)
 
template<typename... Args>
Funk set (std::string arg, std::string arg1, Args... args)
 
template<typename... Args>
Funk set ()
 
template<typename... Args>
shared_ptr< FunkBoundbind (Args... args)
 
const std::vector< std::string > & getArgs ()
 
std::size_t getNArgs ()
 
bool hasArg (std::string)
 
bool hasArgs ()
 
Funk help ()
 
template<typename... Args>
bool assert_args (Args... args)
 
virtual void resolve (std::map< std::string, size_t > datamap, size_t &datalen, size_t bindID, std::map< std::string, size_t > &argmap)
 
Singularities getSingl ()
 
Funk set_singularity (std::string arg, double pos, double width)
 
Funk print (std::string arg)
 
template<typename... Args>
shared_ptr< FunkIntegrate_gsl1dgsl_integration (Args... args)
 
PlainPtrs1 plain (std::string)
 
PlainPtrs2 plain (std::string, std::string)
 
PlainPtrs3 plain (std::string, std::string, std::string)
 
PlainPtrs4 plain (std::string, std::string, std::string, std::string)
 
template<typename T >
PlainPtr1 plain (std::string)
 
template<typename T >
PlainPtr2 plain (std::string, std::string)
 
template<typename T >
PlainPtr3 plain (std::string, std::string, std::string)
 
template<typename T >
PlainPtr4 plain (std::string, std::string, std::string, std::string)
 
template<>
Funk set ()
 

Private Attributes

double pos
 
double width
 

Additional Inherited Members

- Protected Attributes inherited from daFunk::FunkBase
std::vector< Funkfunctions
 
ArgsType arguments
 
std::vector< std::vector< size_t > > indices
 
size_t datalen
 
Singularities singularities
 

Detailed Description

Definition at line 883 of file daFunk.hpp.

Constructor & Destructor Documentation

◆ FunkDelta()

daFunk::FunkDelta::FunkDelta ( std::string  arg,
double  pos,
double  width 
)
inline

Definition at line 886 of file daFunk.hpp.

References daFunk::cnst(), and daFunk::vec().

886  : pos(pos), width(width)
887  {
888  arguments = vec(arg);
889  this->set_singularity("v", pos, width);
890  singularities[arg].push_back(std::pair<Funk, Funk>(cnst(pos), cnst(width)));
891  }
ArgsType arguments
Definition: daFunk.hpp:369
Funk set_singularity(std::string arg, Funk pos, Funk width)
Definition: daFunk.hpp:928
Singularities singularities
Definition: daFunk.hpp:372
Funk cnst(double x, Args... argss)
Definition: daFunk.hpp:606
std::vector< T > vec(std::vector< T > vector)
Definition: daFunk.hpp:142
Here is the call graph for this function:

Member Function Documentation

◆ value()

double daFunk::FunkDelta::value ( const std::vector< double > &  data,
size_t  bindID 
)
inlinevirtual

Implements daFunk::FunkBase.

Definition at line 893 of file daFunk.hpp.

References Gambit::Scanner::pow().

894  {
895  double x = data[indices[bindID][0]];
896  return exp(-pow(x-pos,2)/pow(width,2)/2)/sqrt(2*M_PI)/width;
897  }
std::vector< std::vector< size_t > > indices
Definition: daFunk.hpp:370
double pow(const double &a)
Outputs a^i.
Here is the call graph for this function:

Member Data Documentation

◆ pos

double daFunk::FunkDelta::pos
private

Definition at line 900 of file daFunk.hpp.

◆ width

double daFunk::FunkDelta::width
private

Definition at line 900 of file daFunk.hpp.


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