Geant4  10.00.p02
c2_factory< float_type > Class Template Reference

a factory of pre-templated c2_function generators More...

#include <c2_factory.hh>

Static Public Member Functions

static c2_classic_function_p
< float_type > & 
classic_function (float_type(*c_func)(float_type))
 make a *new object More...
 
static c2_plugin_function_p
< float_type > & 
plugin_function ()
 make a *new object More...
 
static c2_plugin_function_p
< float_type > & 
plugin_function (c2_function< float_type > &f)
 make a *new object More...
 
static
c2_const_plugin_function_p
< float_type > & 
const_plugin_function ()
 make a *new object More...
 
static
c2_const_plugin_function_p
< float_type > & 
const_plugin_function (const c2_function< float_type > &f)
 make a *new object More...
 
static c2_scaled_function_p
< float_type > & 
scaled_function (const c2_function< float_type > &outer, float_type scale)
 make a *new object More...
 
static c2_cached_function_p
< float_type > & 
cached_function (const c2_function< float_type > &func)
 make a *new object More...
 
static c2_constant_p
< float_type > & 
constant (float_type x)
 make a *new object More...
 
static
interpolating_function_p
< float_type > & 
interpolating_function ()
 make a *new object More...
 
static
lin_log_interpolating_function_p
< float_type > & 
lin_log_interpolating_function ()
 make a *new object More...
 
static
log_lin_interpolating_function_p
< float_type > & 
log_lin_interpolating_function ()
 make a *new object More...
 
static
log_log_interpolating_function_p
< float_type > & 
log_log_interpolating_function ()
 make a *new object More...
 
static
arrhenius_interpolating_function_p
< float_type > & 
arrhenius_interpolating_function ()
 make a *new object More...
 
static c2_connector_function_p
< float_type > & 
connector_function (float_type x0, const c2_function< float_type > &f0, float_type x2, const c2_function< float_type > &f2, bool auto_center, float_type y1)
 make a *new object More...
 
static c2_connector_function_p
< float_type > & 
connector_function (const c2_fblock< float_type > &fb0, const c2_fblock< float_type > &fb2, bool auto_center, float_type y1)
 make a *new object More...
 
static c2_connector_function_p
< float_type > & 
connector_function (float_type x0, float_type y0, float_type yp0, float_type ypp0, float_type x2, float_type y2, float_type yp2, float_type ypp2, bool auto_center, float_type y1)
 make a *new object More...
 
static c2_piecewise_function_p
< float_type > & 
piecewise_function ()
 make a *new object More...
 
static c2_sin_p< float_type > & sin ()
 make a *new object More...
 
static c2_cos_p< float_type > & cos ()
 make a *new object More...
 
static c2_tan_p< float_type > & tan ()
 make a *new object More...
 
static c2_log_p< float_type > & log ()
 make a *new object More...
 
static c2_exp_p< float_type > & exp ()
 make a *new object More...
 
static c2_sqrt_p< float_type > & sqrt ()
 make a *new object More...
 
static c2_recip_p< float_type > & recip (float_type scale=1)
 make a *new object More...
 
static c2_identity_p
< float_type > & 
identity ()
 make a *new object More...
 
static c2_linear_p< float_type > & linear (float_type x0, float_type y0, float_type slope)
 make a *new object More...
 
static c2_quadratic_p
< float_type > & 
quadratic (float_type x0, float_type y0, float_type xcoef, float_type x2coef)
 make a *new object More...
 
static c2_power_law_p
< float_type > & 
power_law (float_type scale, float_type power)
 make a *new object More...
 
static c2_inverse_function_p
< float_type > & 
inverse_function (const c2_function< float_type > &source)
 make a *new object More...
 

Detailed Description

template<typename float_type>
class c2_factory< float_type >

a factory of pre-templated c2_function generators

do

typedef c2_ptr<double> c2_p;
c2_p f=c2.sin();
Note
The factory class doesn't contain any data. It can be statically instantiated at the top of a file, and used everywhere inside, or even instantiated in your project's top-level include file.
See also
c2_math_factory

Definition at line 57 of file c2_factory.hh.

Member Function Documentation

template<typename float_type>
static arrhenius_interpolating_function_p<float_type>& c2_factory< float_type >::arrhenius_interpolating_function ( )
inlinestatic

make a *new object

Definition at line 107 of file c2_factory.hh.

template<typename float_type>
static c2_cached_function_p<float_type>& c2_factory< float_type >::cached_function ( const c2_function< float_type > &  func)
inlinestatic

make a *new object

Definition at line 84 of file c2_factory.hh.

template<typename float_type>
static c2_classic_function_p<float_type>& c2_factory< float_type >::classic_function ( float_type(*)(float_type)  c_func)
inlinestatic

make a *new object

Definition at line 62 of file c2_factory.hh.

template<typename float_type>
static c2_connector_function_p<float_type>& c2_factory< float_type >::connector_function ( float_type  x0,
const c2_function< float_type > &  f0,
float_type  x2,
const c2_function< float_type > &  f2,
bool  auto_center,
float_type  y1 
)
inlinestatic

make a *new object

Definition at line 110 of file c2_factory.hh.

References f2.

Referenced by LJZBLScreening().

+ Here is the caller graph for this function:

template<typename float_type>
static c2_connector_function_p<float_type>& c2_factory< float_type >::connector_function ( const c2_fblock< float_type > &  fb0,
const c2_fblock< float_type > &  fb2,
bool  auto_center,
float_type  y1 
)
inlinestatic

make a *new object

Definition at line 116 of file c2_factory.hh.

template<typename float_type>
static c2_connector_function_p<float_type>& c2_factory< float_type >::connector_function ( float_type  x0,
float_type  y0,
float_type  yp0,
float_type  ypp0,
float_type  x2,
float_type  y2,
float_type  yp2,
float_type  ypp2,
bool  auto_center,
float_type  y1 
)
inlinestatic

make a *new object

Definition at line 122 of file c2_factory.hh.

template<typename float_type>
static c2_const_plugin_function_p<float_type>& c2_factory< float_type >::const_plugin_function ( )
inlinestatic

make a *new object

Definition at line 72 of file c2_factory.hh.

template<typename float_type>
static c2_const_plugin_function_p<float_type>& c2_factory< float_type >::const_plugin_function ( const c2_function< float_type > &  f)
inlinestatic

make a *new object

Definition at line 76 of file c2_factory.hh.

template<typename float_type>
static c2_constant_p<float_type>& c2_factory< float_type >::constant ( float_type  x)
inlinestatic

make a *new object

Definition at line 88 of file c2_factory.hh.

template<typename float_type>
static c2_cos_p<float_type>& c2_factory< float_type >::cos ( )
inlinestatic

make a *new object

Definition at line 134 of file c2_factory.hh.

template<typename float_type>
static c2_exp_p<float_type>& c2_factory< float_type >::exp ( )
inlinestatic

make a *new object

Definition at line 140 of file c2_factory.hh.

template<typename float_type>
static c2_identity_p<float_type>& c2_factory< float_type >::identity ( )
inlinestatic

make a *new object

Definition at line 147 of file c2_factory.hh.

template<typename float_type>
static interpolating_function_p<float_type>& c2_factory< float_type >::interpolating_function ( )
inlinestatic

make a *new object

Definition at line 91 of file c2_factory.hh.

template<typename float_type>
static c2_inverse_function_p<float_type>& c2_factory< float_type >::inverse_function ( const c2_function< float_type > &  source)
inlinestatic

make a *new object

Definition at line 162 of file c2_factory.hh.

Referenced by G4NativeScreenedCoulombCrossSection::LoadData().

+ Here is the caller graph for this function:

template<typename float_type>
static lin_log_interpolating_function_p<float_type>& c2_factory< float_type >::lin_log_interpolating_function ( )
inlinestatic

make a *new object

Definition at line 95 of file c2_factory.hh.

Referenced by LJScreening(), MoliereScreening(), and ZBLScreening().

+ Here is the caller graph for this function:

template<typename float_type>
static c2_linear_p<float_type>& c2_factory< float_type >::linear ( float_type  x0,
float_type  y0,
float_type  slope 
)
inlinestatic

make a *new object

Definition at line 151 of file c2_factory.hh.

Referenced by G4NativeScreenedCoulombCrossSection::LoadData().

+ Here is the caller graph for this function:

template<typename float_type>
static c2_log_p<float_type>& c2_factory< float_type >::log ( )
inlinestatic

make a *new object

Definition at line 138 of file c2_factory.hh.

template<typename float_type>
static log_lin_interpolating_function_p<float_type>& c2_factory< float_type >::log_lin_interpolating_function ( )
inlinestatic

make a *new object

Definition at line 99 of file c2_factory.hh.

template<typename float_type>
static log_log_interpolating_function_p<float_type>& c2_factory< float_type >::log_log_interpolating_function ( )
inlinestatic

make a *new object

Definition at line 103 of file c2_factory.hh.

Referenced by G4ScreenedCoulombCrossSection::BuildMFPTables(), and G4NativeScreenedCoulombCrossSection::LoadData().

+ Here is the caller graph for this function:

template<typename float_type>
static c2_piecewise_function_p<float_type>& c2_factory< float_type >::piecewise_function ( )
inlinestatic

make a *new object

Definition at line 129 of file c2_factory.hh.

Referenced by LJZBLScreening().

+ Here is the caller graph for this function:

template<typename float_type>
static c2_plugin_function_p<float_type>& c2_factory< float_type >::plugin_function ( )
inlinestatic

make a *new object

Definition at line 65 of file c2_factory.hh.

template<typename float_type>
static c2_plugin_function_p<float_type>& c2_factory< float_type >::plugin_function ( c2_function< float_type > &  f)
inlinestatic

make a *new object

Definition at line 69 of file c2_factory.hh.

template<typename float_type>
static c2_power_law_p<float_type>& c2_factory< float_type >::power_law ( float_type  scale,
float_type  power 
)
inlinestatic

make a *new object

Definition at line 158 of file c2_factory.hh.

template<typename float_type>
static c2_quadratic_p<float_type>& c2_factory< float_type >::quadratic ( float_type  x0,
float_type  y0,
float_type  xcoef,
float_type  x2coef 
)
inlinestatic

make a *new object

Definition at line 154 of file c2_factory.hh.

template<typename float_type>
static c2_recip_p<float_type>& c2_factory< float_type >::recip ( float_type  scale = 1)
inlinestatic

make a *new object

Definition at line 144 of file c2_factory.hh.

template<typename float_type>
static c2_scaled_function_p<float_type>& c2_factory< float_type >::scaled_function ( const c2_function< float_type > &  outer,
float_type  scale 
)
inlinestatic

make a *new object

Definition at line 80 of file c2_factory.hh.

template<typename float_type>
static c2_sin_p<float_type>& c2_factory< float_type >::sin ( )
inlinestatic

make a *new object

Definition at line 132 of file c2_factory.hh.

template<typename float_type>
static c2_sqrt_p<float_type>& c2_factory< float_type >::sqrt ( )
inlinestatic

make a *new object

Definition at line 142 of file c2_factory.hh.

template<typename float_type>
static c2_tan_p<float_type>& c2_factory< float_type >::tan ( )
inlinestatic

make a *new object

Definition at line 136 of file c2_factory.hh.


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