gambit is hosted by Hepforge, IPPP Durham
GAMBIT  v1.5.0-252-gf9a3f78
a Global And Modular Bsm Inference Tool
daFunk Namespace Reference

Namespaces

 detail
 

Classes

class  Bottle
 
class  FunkBase
 
class  FunkBound
 
class  FunkConst
 
class  FunkDelta
 
class  FunkDerived
 
class  FunkFunc
 
class  FunkFuncM
 
class  FunkIfElse
 
class  FunkIntegrate_gsl1d
 
class  FunkMath_umin
 
class  FunkPlain
 
class  FunkVar
 
struct  index_list
 
class  livingVector
 
class  ThrowError
 

Typedefs

typedef shared_ptr< FunkBaseFunk
 
typedef shared_ptr< FunkBoundBoundFunk
 
typedef std::vector< std::string > ArgsType
 
typedef std::map< std::string, std::vector< std::pair< Funk, Funk > > > Singularities
 
typedef double(* PlainPtr1) (double &)
 
typedef double(* PlainPtr2) (double &, double &)
 
typedef double(* PlainPtr3) (double &, double &, double &)
 
typedef double(* PlainPtr4) (double &, double &, double &, double &)
 
typedef std::pair< double(*)(double, void *), void * > PlainPtrs1
 
typedef std::pair< double(*)(double, double, void *), void * > PlainPtrs2
 
typedef std::pair< double(*)(double, double, double, void *), void * > PlainPtrs3
 
typedef std::pair< double(*)(double, double, double, double, void *), void * > PlainPtrs4
 

Functions

template<typename T >
std::vector< T > vec (std::vector< T > vector)
 
template<typename T , typename... Args>
std::vector< T > vec (std::vector< T > vector, T value, Args... args)
 
template<typename T , typename... Args>
std::vector< T > vec (T value, Args... args)
 
template<typename T >
std::vector< T > vec ()
 
std::vector< doublelinspace (double x0, double x1, unsigned int n)
 
std::vector< doublelogspace (double x0, double x1, unsigned int n)
 
bool args_match (ArgsType args1, ArgsType args2)
 
std::string args_string (ArgsType args)
 
ArgsType joinArgs (ArgsType args1, ArgsType args2)
 
ArgsType eraseArg (ArgsType args, std::string arg)
 
Singularities joinSingl (Singularities s1, Singularities s2)
 
template<typename... Args>
Funk one (Args... argss)
 
template<typename... Args>
Funk zero (Args... argss)
 
template<typename... Args>
Funk cnst (double x, Args... argss)
 
template<typename... funcargs, typename... Args>
Funk func (double(*f)(funcargs...), Args... args)
 
template<typename... funcargs, typename... Args>
Funk func_fromThreadsafe (double(*f)(funcargs...), Args... args)
 
template<typename O , typename... funcargs, typename... Args>
Funk funcM (O *obj, double(O::*f)(funcargs...), Args... args)
 
template<typename O , typename... funcargs, typename... Args>
Funk funcM (shared_ptr< O > obj, double(O::*f)(funcargs...), Args... args)
 
template<typename O , typename... funcargs, typename... Args>
Funk funcM_fromThreadsafe (O *obj, double(O::*f)(funcargs...), Args... args)
 
template<typename O , typename... funcargs, typename... Args>
Funk funcM_fromThreadsafe (shared_ptr< O > obj, double(O::*f)(funcargs...), Args... args)
 
Funk delta (std::string arg, double pos, double width)
 
Funk var (std::string arg)
 
Funk operator- (Funk f)
 
 MATH_OPERATION (cos) MATH_OPERATION(sin) MATH_OPERATION(tan) MATH_OPERATION(acos) MATH_OPERATION(asin) MATH_OPERATION(atan) MATH_OPERATION(cosh) MATH_OPERATION(sinh) MATH_OPERATION(tanh) MATH_OPERATION(acosh) MATH_OPERATION(asinh) MATH_OPERATION(atanh) MATH_OPERATION(exp) MATH_OPERATION(log) MATH_OPERATION(log10) MATH_OPERATION(sqrt) MATH_OPERATION(fabs) MATH_OPERATION(Sum
 
 MATH_OPERATION (Mul, *) MATH_OPERATION(Div
 
template<typename T >
MATH_OPERATION(Dif,-) MATH_OPERATION(pow) MATH_OPERATION(fmin) MATH_OPERATION(fmax) class FunkInterp shared_ptr< FunkInterp > interp (T f, std::vector< double > x, std::vector< double > y)
 
Funk ifelse (Funk f, Funk g, Funk h)
 
Funk ifelse (Funk f, double g, Funk h)
 
Funk ifelse (Funk f, double g, double h)
 
Funk ifelse (Funk f, Funk g, double h)
 
Funk throwError (std::string msg)
 
template<typename T1 , typename T2 >
shared_ptr< FunkIntegrate_gsl1dgetIntegrate_gsl1d (Funk fptr, std::string arg, T1 x1, T2 x2)
 
std::vector< doubleaugmentSingl (const std::vector< double > &xgrid, Funk f, int N=100, double sigma=3)
 

Typedef Documentation

◆ ArgsType

typedef std::vector<std::string> daFunk::ArgsType

Definition at line 117 of file daFunk.hpp.

◆ BoundFunk

typedef shared_ptr<FunkBound> daFunk::BoundFunk

Definition at line 116 of file daFunk.hpp.

◆ Funk

typedef shared_ptr<FunkBase> daFunk::Funk

Definition at line 113 of file daFunk.hpp.

◆ PlainPtr1

typedef double(* daFunk::PlainPtr1) (double &)

Definition at line 122 of file daFunk.hpp.

◆ PlainPtr2

typedef double(* daFunk::PlainPtr2) (double &, double &)

Definition at line 123 of file daFunk.hpp.

◆ PlainPtr3

typedef double(* daFunk::PlainPtr3) (double &, double &, double &)

Definition at line 124 of file daFunk.hpp.

◆ PlainPtr4

typedef double(* daFunk::PlainPtr4) (double &, double &, double &, double &)

Definition at line 125 of file daFunk.hpp.

◆ PlainPtrs1

typedef std::pair<double(*)(double,void*), void*> daFunk::PlainPtrs1

Definition at line 129 of file daFunk.hpp.

◆ PlainPtrs2

typedef std::pair<double(*)(double,double,void*), void*> daFunk::PlainPtrs2

Definition at line 130 of file daFunk.hpp.

◆ PlainPtrs3

typedef std::pair<double(*)(double,double,double,void*), void*> daFunk::PlainPtrs3

Definition at line 131 of file daFunk.hpp.

◆ PlainPtrs4

Definition at line 132 of file daFunk.hpp.

◆ Singularities

typedef std::map<std::string, std::vector<std::pair<Funk, Funk> > > daFunk::Singularities

Definition at line 118 of file daFunk.hpp.

Function Documentation

◆ args_match()

bool daFunk::args_match ( ArgsType  args1,
ArgsType  args2 
)
inline

Definition at line 204 of file daFunk.hpp.

Referenced by daFunk::FunkBase::bind().

205  {
206  bool m = true;
207  for ( auto it = args1.begin(); it!=args1.end(); it++ )
208  {
209  if ( std::find(args2.begin(), args2.end(), *it) == args2.end() )
210  m = false;
211  }
212  if ( args1.size() != args2.size() ) m = false;
213  return m;
214  }
Here is the caller graph for this function:

◆ args_string()

std::string daFunk::args_string ( ArgsType  args)
inline

Definition at line 216 of file daFunk.hpp.

Referenced by augmentSingl(), daFunk::FunkBase::bind(), and daFunk::FunkBase::resolve().

217  {
218  std::string msg = "";
219  for ( auto it = args.begin(); it!=args.end(); it++ )
220  {
221  msg += *it;
222  if ( it != args.end() - 1)
223  msg += ", ";
224  }
225  return msg;
226  }
Here is the caller graph for this function:

◆ augmentSingl()

std::vector<double> daFunk::augmentSingl ( const std::vector< double > &  xgrid,
Funk  f,
int  N = 100,
double  sigma = 3 
)
inline

Definition at line 1714 of file daFunk.hpp.

References args_string(), linspace(), LOCAL_INFO, combine_hdf5::N, Gambit::DecayBit::SM_Z::sigma, and Gambit::utils_error().

Referenced by Gambit::DarkBit::lnL_CTAGC_gamLike(), Gambit::DarkBit::lnL_FermiGC_gamLike(), Gambit::DarkBit::lnL_FermiLATdwarfs_gamLike(), and Gambit::DarkBit::lnL_HESSGC_gamLike().

1715  {
1716  std::vector<double> result = xgrid;
1717  double xmin = result.front();
1718  double xmax = result.back();
1719 
1720  if ( f->getNArgs() != 1 )
1721  {
1722  std::string msg = "augment_with_singularities(): takes only functions with one argument.\n";
1723  msg+= " --- Actual arguments are: " + args_string(f->getArgs());
1724 #ifdef GAMBIT_DIR
1725  Gambit::utils_error().raise(LOCAL_INFO, msg);
1726 #else
1727  throw std::invalid_argument(msg);
1728 #endif
1729  }
1730 
1731  std::string arg = f->getArgs()[0];
1732  Singularities singlsMap = f->getSingl();
1733 
1734  if ( singlsMap.find(arg) != singlsMap.end() )
1735  {
1736  auto singls = singlsMap.at(arg);
1737  for (auto it = singls.begin(); it != singls.end(); it ++)
1738  {
1739  double position= it->first->bind()->eval();
1740  double width = it->second->bind()->eval();
1741  std::vector<double> singlgrid = linspace(std::max(position-width*sigma, xmin), std::min(position+width*sigma, xmax), N);
1742  result.insert(result.end(), singlgrid.begin(), singlgrid.end());
1743  }
1744  std::sort(result.begin(), result.end());
1745  }
1746 
1747  return result;
1748  }
EXPORT_SYMBOLS error & utils_error()
Utility errors.
std::string args_string(ArgsType args)
Definition: daFunk.hpp:216
#define LOCAL_INFO
Definition: local_info.hpp:34
std::vector< double > linspace(double x0, double x1, unsigned int n)
Definition: daFunk.hpp:172
std::map< std::string, std::vector< std::pair< Funk, Funk > > > Singularities
Definition: daFunk.hpp:118
const double sigma
Definition: SM_Z.hpp:43
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cnst()

template<typename... Args>
Funk daFunk::cnst ( double  x,
Args...  argss 
)
inline

◆ delta()

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

Definition at line 902 of file daFunk.hpp.

Referenced by Gambit::Utils::endsWith(), mt2_bisect::mt2::nsols(), mt2_bisect::mt2::nsols_massless(), and mt2w_bisect::mt2w::teco().

902 { return Funk(new FunkDelta(arg, pos, width)); }
shared_ptr< FunkBase > Funk
Definition: daFunk.hpp:113
Here is the caller graph for this function:

◆ eraseArg()

ArgsType daFunk::eraseArg ( ArgsType  args,
std::string  arg 
)
inline

Definition at line 236 of file daFunk.hpp.

Referenced by daFunk::FunkDerived::setup(), and daFunk::FunkIntegrate_gsl1d::setup().

237  {
238  auto it = std::find(args.begin(), args.end(), arg);
239  if (it!=args.end()) args.erase(it);
240  return args;
241  }
Here is the caller graph for this function:

◆ func()

template<typename... funcargs, typename... Args>
Funk daFunk::func ( double(*)(funcargs...)  f,
Args...  args 
)

Definition at line 768 of file daFunk.hpp.

References combine_hdf5::f.

Referenced by Gambit::DarkBit::GA_AnnYield_General(), Gambit::DarkBit::GalacticHalo_Einasto(), Gambit::DarkBit::GalacticHalo_gNFW(), Gambit::DarkBit::TH_ProcessCatalog_DS5_MSSM(), Gambit::DarkBit::TH_ProcessCatalog_DS_MSSM(), and Gambit::DarkBit::UnitTest_DarkBit().

768  {
769  return Funk(new FunkFunc<false, funcargs...>(f, args...));
770  }
shared_ptr< FunkBase > Funk
Definition: daFunk.hpp:113
Here is the caller graph for this function:

◆ func_fromThreadsafe()

template<typename... funcargs, typename... Args>
Funk daFunk::func_fromThreadsafe ( double(*)(funcargs...)  f,
Args...  args 
)

Definition at line 773 of file daFunk.hpp.

References combine_hdf5::f.

Referenced by Gambit::DarkBit::SimYieldTable_DarkSUSY(), Gambit::DarkBit::SimYieldTable_DS5(), and Gambit::DarkBit::SimYieldTable_MicrOmegas().

773  {
774  return Funk(new FunkFunc<true, funcargs...>(f, args...));
775  }
shared_ptr< FunkBase > Funk
Definition: daFunk.hpp:113
Here is the caller graph for this function:

◆ funcM() [1/2]

template<typename O , typename... funcargs, typename... Args>
Funk daFunk::funcM ( O *  obj,
double(O::*)(funcargs...)  f,
Args...  args 
)

Definition at line 861 of file daFunk.hpp.

Referenced by Gambit::DarkBit::TH_ProcessCatalog_DiracSingletDM_Z2(), Gambit::DarkBit::TH_ProcessCatalog_MajoranaSingletDM_Z2(), Gambit::DarkBit::TH_ProcessCatalog_ScalarSingletDM_Z2(), Gambit::DarkBit::TH_ProcessCatalog_ScalarSingletDM_Z3(), and Gambit::DarkBit::TH_ProcessCatalog_VectorSingletDM_Z2().

861  {
862  return Funk(new FunkFuncM<false, O, funcargs...>(obj, f, args...));
863  }
shared_ptr< FunkBase > Funk
Definition: daFunk.hpp:113
Here is the caller graph for this function:

◆ funcM() [2/2]

template<typename O , typename... funcargs, typename... Args>
Funk daFunk::funcM ( shared_ptr< O >  obj,
double(O::*)(funcargs...)  f,
Args...  args 
)

Definition at line 865 of file daFunk.hpp.

865  {
866  return Funk(new FunkFuncM<false, O, funcargs...>(obj, f, args...));
867  }
shared_ptr< FunkBase > Funk
Definition: daFunk.hpp:113

◆ funcM_fromThreadsafe() [1/2]

template<typename O , typename... funcargs, typename... Args>
Funk daFunk::funcM_fromThreadsafe ( O *  obj,
double(O::*)(funcargs...)  f,
Args...  args 
)

Definition at line 871 of file daFunk.hpp.

871  {
872  return Funk(new FunkFuncM<true, O, funcargs...>(obj, f, args...));
873  }
shared_ptr< FunkBase > Funk
Definition: daFunk.hpp:113

◆ funcM_fromThreadsafe() [2/2]

template<typename O , typename... funcargs, typename... Args>
Funk daFunk::funcM_fromThreadsafe ( shared_ptr< O >  obj,
double(O::*)(funcargs...)  f,
Args...  args 
)

Definition at line 875 of file daFunk.hpp.

875  {
876  return Funk(new FunkFuncM<true, O, funcargs...>(obj, f, args...));
877  }
shared_ptr< FunkBase > Funk
Definition: daFunk.hpp:113

◆ getIntegrate_gsl1d()

template<typename T1 , typename T2 >
shared_ptr<FunkIntegrate_gsl1d> daFunk::getIntegrate_gsl1d ( Funk  fptr,
std::string  arg,
T1  x1,
T2  x2 
)
inline

Definition at line 1708 of file daFunk.hpp.

Referenced by daFunk::FunkBase::gsl_integration().

1708 { return shared_ptr<FunkIntegrate_gsl1d>(new FunkIntegrate_gsl1d(fptr, arg, x1, x2)); }
double(* fptr)(int &)
Pointer to a function that takes an integer by reference and returns a double.
Here is the caller graph for this function:

◆ ifelse() [1/4]

Funk daFunk::ifelse ( Funk  f,
Funk  g,
Funk  h 
)
inline

Definition at line 1373 of file daFunk.hpp.

Referenced by Gambit::DarkBit::GA_AnnYield_General(), and Gambit::DarkBit::SimYieldChannel::SimYieldChannel().

1373 { return Funk(new FunkIfElse(f, g, h)); }
shared_ptr< FunkBase > Funk
Definition: daFunk.hpp:113
Here is the caller graph for this function:

◆ ifelse() [2/4]

Funk daFunk::ifelse ( Funk  f,
double  g,
Funk  h 
)
inline

Definition at line 1374 of file daFunk.hpp.

References cnst().

1374 { return Funk(new FunkIfElse(f, cnst(g), h)); }
Funk cnst(double x, Args... argss)
Definition: daFunk.hpp:606
shared_ptr< FunkBase > Funk
Definition: daFunk.hpp:113
Here is the call graph for this function:

◆ ifelse() [3/4]

Funk daFunk::ifelse ( Funk  f,
double  g,
double  h 
)
inline

Definition at line 1375 of file daFunk.hpp.

References cnst().

1375 { return Funk(new FunkIfElse(f, cnst(g), cnst(h))); }
Funk cnst(double x, Args... argss)
Definition: daFunk.hpp:606
shared_ptr< FunkBase > Funk
Definition: daFunk.hpp:113
Here is the call graph for this function:

◆ ifelse() [4/4]

Funk daFunk::ifelse ( Funk  f,
Funk  g,
double  h 
)
inline

Definition at line 1376 of file daFunk.hpp.

References cnst().

1376 { return Funk(new FunkIfElse(f, g, cnst(h))); }
Funk cnst(double x, Args... argss)
Definition: daFunk.hpp:606
shared_ptr< FunkBase > Funk
Definition: daFunk.hpp:113
Here is the call graph for this function:

◆ interp()

template<typename T >
MATH_OPERATION (Dif,-) MATH_OPERATION(pow) MATH_OPERATION(fmin) MATH_OPERATION(fmax) class FunkInterp shared_ptr<FunkInterp> daFunk::interp ( f,
std::vector< double x,
std::vector< double y 
)
inline

Definition at line 1349 of file daFunk.hpp.

Referenced by Gambit::DarkBit::alt_erg_integrand(), Gambit::DarkBit::calc_lnL_HESS_GCMF(), Gambit::DecayBit::get_Higgs_invWidth_chi2(), Gambit::DarkBit::intersect_parabola_line(), Gambit::DarkBit::UnitTest_DarkBit(), and Gambit::virtual_SMHiggs_widths().

1349 { return shared_ptr<FunkInterp>(new FunkInterp(f, x, y)); }
Here is the caller graph for this function:

◆ joinArgs()

ArgsType daFunk::joinArgs ( ArgsType  args1,
ArgsType  args2 
)
inline

Definition at line 228 of file daFunk.hpp.

Referenced by daFunk::FunkFunc< threadsafe, funcargs >::digest_input(), daFunk::FunkFuncM< threadsafe, O, funcargs >::digest_input(), daFunk::FunkIfElse::FunkIfElse(), daFunk::FunkDerived::setup(), and daFunk::FunkIntegrate_gsl1d::setup().

229  {
230  args1.insert(args1.end(), args2.begin(), args2.end());
231  std::set<std::string> argsset(args1.begin(), args1.end());
232  args1.assign(argsset.begin(), argsset.end());
233  return args1;
234  }
Here is the caller graph for this function:

◆ joinSingl()

Singularities daFunk::joinSingl ( Singularities  s1,
Singularities  s2 
)
inline

Definition at line 243 of file daFunk.hpp.

Referenced by daFunk::FunkFunc< threadsafe, funcargs >::digest_input(), daFunk::FunkFuncM< threadsafe, O, funcargs >::digest_input(), daFunk::FunkIfElse::FunkIfElse(), daFunk::FunkDerived::setup(), and daFunk::FunkIntegrate_gsl1d::setup().

244  {
245  for ( auto it = s2.begin(); it != s2.end(); ++it )
246  {
247  if ( s1.find(it->first) == s1.end() )
248  s1[it->first] = it->second;
249  else
250  {
251  for ( auto it2 = it->second.begin(); it2 != it->second.end(); ++it2 )
252  {
253  if ( std::find(s1[it->first].begin(), s1[it->first].end(), *it2) == s1[it->first].end() )
254  s1[it->first].push_back(*it2);
255  }
256  }
257  }
258  return s1;
259  }
Here is the caller graph for this function:

◆ linspace()

std::vector<double> daFunk::linspace ( double  x0,
double  x1,
unsigned int  n 
)
inline

Definition at line 172 of file daFunk.hpp.

Referenced by augmentSingl().

173  {
174  std::vector<double> ret;
175  double dx = 0;
176  if (n > 1)
177  dx = (x1-x0)/(n-1);
178  for (unsigned int i = 0; i<n; i++)
179  {
180  ret.push_back(x0 + i * dx);
181  }
182  return ret;
183  }
Here is the caller graph for this function:

◆ logspace()

std::vector<double> daFunk::logspace ( double  x0,
double  x1,
unsigned int  n 
)
inline

Definition at line 186 of file daFunk.hpp.

References Gambit::Scanner::pow().

Referenced by Gambit::DarkBit::GA_AnnYield_General(), Gambit::DarkBit::lnL_CTAGC_gamLike(), Gambit::DarkBit::lnL_FermiGC_gamLike(), Gambit::DarkBit::lnL_FermiLATdwarfs_gamLike(), Gambit::DarkBit::lnL_HESSGC_gamLike(), main(), Gambit::DarkBit::set_gamLike_GC_halo(), Gambit::DarkBit::UnitTest_DarkBit(), and daFunk::FunkIntegrate_gsl1d::value().

187  {
188  std::vector<double> ret;
189  double dx = 0;
190  if (n > 1)
191  dx = (x1-x0)/(n-1);
192  for (unsigned int i = 0; i<n; i++)
193  {
194  ret.push_back(pow(10, x0 + i * dx));
195  }
196  return ret;
197  }
double pow(const double &a)
Outputs a^i.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ MATH_OPERATION() [1/2]

daFunk::MATH_OPERATION ( cos  )

◆ MATH_OPERATION() [2/2]

daFunk::MATH_OPERATION ( Mul  ,
 
)

◆ one()

template<typename... Args>
Funk daFunk::one ( Args...  argss)
inline

Definition at line 602 of file daFunk.hpp.

Referenced by Gambit::DarkBit::TH_ProcessCatalog_WIMP().

602 { return Funk(new FunkConst(1., argss...)); }
shared_ptr< FunkBase > Funk
Definition: daFunk.hpp:113
Here is the caller graph for this function:

◆ operator-()

Funk daFunk::operator- ( Funk  f)
inline

Definition at line 1153 of file daFunk.hpp.

1153 { return Funk(new FunkMath_umin(f)); }
shared_ptr< FunkBase > Funk
Definition: daFunk.hpp:113

◆ throwError()

Funk daFunk::throwError ( std::string  msg)
inline

Definition at line 1411 of file daFunk.hpp.

References Gambit::GreAT::data, Gambit::invalid_point(), LOCAL_INFO, Gambit::piped_invalid_point, Gambit::invalid_point_exception::raise(), Gambit::Piped_invalid_point::request(), Gambit::utils_warning(), and void.

Referenced by Gambit::DarkBit::GA_AnnYield_General().

1411 { return Funk(new ThrowError(msg)); }
shared_ptr< FunkBase > Funk
Definition: daFunk.hpp:113
Here is the call graph for this function:
Here is the caller graph for this function:

◆ var()

◆ vec() [1/4]

◆ vec() [2/4]

template<typename T , typename... Args>
std::vector<T> daFunk::vec ( std::vector< T >  vector,
value,
Args...  args 
)
inline

Definition at line 147 of file daFunk.hpp.

148  {
149  vector.push_back(value);
150  return vec<T>(vector, args...);
151  }

◆ vec() [3/4]

template<typename T , typename... Args>
std::vector<T> daFunk::vec ( value,
Args...  args 
)
inline

Definition at line 153 of file daFunk.hpp.

154  {
155  std::vector<T> vector;
156  vector.push_back(value);
157  vector = vec<T>(vector, args...);
158  return vector;
159  }

◆ vec() [4/4]

template<typename T >
std::vector<T> daFunk::vec ( )
inline

Definition at line 161 of file daFunk.hpp.

162  {
163  std::vector<T> vector;
164  return vector;
165  }

◆ zero()

template<typename... Args>
Funk daFunk::zero ( Args...  argss)
inline

Definition at line 604 of file daFunk.hpp.

Referenced by Gambit::DarkBit::cascadeMC_fetchSpectra(), Gambit::DarkBit::DEF_FUNKTRAIT(), Gambit::DarkBit::GA_AnnYield_General(), Gambit::DarkBit::SimYieldTable::operator()(), and Gambit::DarkBit::SimYieldTable_MicrOmegas().

604 { return Funk(new FunkConst(0., argss...)); }
shared_ptr< FunkBase > Funk
Definition: daFunk.hpp:113
Here is the caller graph for this function: