ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
c2_factory< float_type > Class Template Reference

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

#include <geant4/tree/geant4-10.6-release/examples/extended/electromagnetic/TestEm7/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
 
static c2_plugin_function_p
< float_type > & 
plugin_function ()
 make a *new object
 
static c2_plugin_function_p
< float_type > & 
plugin_function (c2_function< float_type > &f)
 make a *new object
 
static
c2_const_plugin_function_p
< float_type > & 
const_plugin_function ()
 make a *new object
 
static
c2_const_plugin_function_p
< float_type > & 
const_plugin_function (const c2_function< float_type > &f)
 make a *new object
 
static c2_scaled_function_p
< float_type > & 
scaled_function (const c2_function< float_type > &outer, float_type scale)
 make a *new object
 
static c2_cached_function_p
< float_type > & 
cached_function (const c2_function< float_type > &func)
 make a *new object
 
static c2_constant_p
< float_type > & 
constant (float_type x)
 make a *new object
 
static
interpolating_function_p
< float_type > & 
interpolating_function ()
 make a *new object
 
static
lin_log_interpolating_function_p
< float_type > & 
lin_log_interpolating_function ()
 make a *new object
 
static
log_lin_interpolating_function_p
< float_type > & 
log_lin_interpolating_function ()
 make a *new object
 
static
log_log_interpolating_function_p
< float_type > & 
log_log_interpolating_function ()
 make a *new object
 
static
arrhenius_interpolating_function_p
< float_type > & 
arrhenius_interpolating_function ()
 make a *new object
 
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
 
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
 
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
 
static c2_piecewise_function_p
< float_type > & 
piecewise_function ()
 make a *new object
 
static c2_sin_p< float_type > & sin ()
 make a *new object
 
static c2_cos_p< float_type > & cos ()
 make a *new object
 
static c2_tan_p< float_type > & tan ()
 make a *new object
 
static c2_log_p< float_type > & log ()
 make a *new object
 
static c2_exp_p< float_type > & exp ()
 make a *new object
 
static c2_sqrt_p< float_type > & sqrt ()
 make a *new object
 
static c2_recip_p< float_type > & recip (float_type scale=1)
 make a *new object
 
static c2_identity_p
< float_type > & 
identity ()
 make a *new object
 
static c2_linear_p< float_type > & linear (float_type x0, float_type y0, float_type slope)
 make a *new object
 
static c2_quadratic_p
< float_type > & 
quadratic (float_type x0, float_type y0, float_type xcoef, float_type x2coef)
 make a *new object
 
static c2_power_law_p
< float_type > & 
power_law (float_type scale, float_type power)
 make a *new object
 
static c2_inverse_function_p
< float_type > & 
inverse_function (const c2_function< float_type > &source)
 make a *new object
 

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 56 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 56 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 106 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 106 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 83 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 83 of file c2_factory.hh

References func.

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 61 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 61 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 109 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 109 of file c2_factory.hh

References f0(), f2, x2, and y1.

Referenced by LJZBLScreening().

+ Here is the call graph for this function:

+ 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 115 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 115 of file c2_factory.hh

References y1.

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 121 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 121 of file c2_factory.hh

References x2, y1, and y2.

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 71 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 71 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 75 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 75 of file c2_factory.hh

References f.

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 87 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 87 of file c2_factory.hh

References x.

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

make a *new object

Definition at line 146 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 146 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 90 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 90 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 161 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 161 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 94 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 94 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 150 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 150 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 137 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 137 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 98 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 98 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 102 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 102 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 128 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 128 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 64 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 64 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 68 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 68 of file c2_factory.hh

References f.

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 157 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 157 of file c2_factory.hh

References scale.

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 153 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 153 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 143 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 143 of file c2_factory.hh

References scale.

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 79 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 79 of file c2_factory.hh

References scale.

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

make a *new object

Definition at line 141 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 141 of file c2_factory.hh

Referenced by __example_2.f__(), __example_3.f__(), __example_5.f__(), __example_6.f__(), __example_7.f__(), __example_8.f__(), airy1(), airy1d(), airy2(), airy2d(), aiz(), ar3jet(), arorie(), attrad(), biz(), checkshape(), converttohepmc(), deriv(), doinstatescat(), dokinematics(), fgp3(), flap1(), flap2(), fnkick(), generatez(), genevent(), getdeltat(), getmass(), getms(), getmsmax(), getneff(), getnewmass(), getpdf(), getqvec(), getscatterer(), getspliti(), getsscat(), gettemp(), gukine(), hiboost(), hijcsc(), hijels(), hijfrg(), hijhrd(), hijing(), hijini(), hijset(), hijsft(), hijwds(), hiptdi(), hirobo(), insudaint(), lu1ent(), lu2ent(), lu3ent(), lu4ent(), luboei(), lucell(), luclus(), ludecy(), luedit(), lueevt(), luexec(), lufowo(), luindf(), lujmas(), lukfdi(), luonia(), luprep(), luptdi(), luradk(), lurobo(), lushow(), lusphe(), lustrf(), lutabu(), luthru(), lux3jt(), lux4jt(), luxdif(), luxjet(), luxkfl(), luxtot(), luzdis(), makebranch(), makeinsplit(), makesplitting(), medderiv(), nthick(), omg0(), pdfint(), pickvtx(), plu(), poissonian(), py1ent(), py2ent(), py2frm(), py3ent(), py4ent(), py4frm(), py4jet(), py4jts(), py4jtw(), py6frm(), pyadsh(), pyalps(), pyangl(), pyapps(), pybesq(), pyboei(), pycell(), pycjdc(), pyclus(), pydcyk(), pydecy(), pydiff(), pydisg(), pydocu(), pyedit(), pyeevt(), pyeig4(), pyevnt(), pyevnw(), pyevol(), pyexec(), pyfowo(), pyfscr(), pygaga(), pygbeh(), pygfxx(), pyggam(), pyglui(), pygrvd(), pygrvl(), pygrvm(), pygrvs(), pygrvv(), pygrvw(), pyh2xx(), pyhext(), pyhfth(), pyhidiff(), pyhii3au(), pyhiinki(), pyhiklim(), pyhikmap(), pyhimaxi(), pyhimult(), pyhirand(), pyhiremn(), pyhiresd(), pyhiscat(), pyhisigh(), pyhispen(), pyhisspa(), pyhistfe(), pyhistfu(), pyhitest(), pyhithia(), pyhiw1au(), pyhiw2au(), pyhiwidt(), pyhixtot(), pyi3au(), pyinbm(), pyindf(), pyinki(), pyinom(), pyinre(), pyjmas(), pyjurf(), pykcut(), pykfin(), pyklim(), pykmap(), pymael(), pymass(), pymaxi(), pymign(), pymirm(), pymsin(), pymult(), pynjdc(), pynmes(), pyofsh(), pyonia(), pyoper(), pyp(), pypdel(), pypdfl(), pypdfu(), pypdpi(), pypdpo(), pypdpr(), pyplot(), pyprep(), pyptdi(), pyptfs(), pyptis(), pyptmi(), pyqqbh(), pyradk(), pyrand(), pyreco(), pyremn(), pyresd(), pyrghm(), pyrobo(), pyrvch(), pyrvg1(), pyrvg2(), pyrvg3(), pyrvne(), pyrvsb(), pyscat(), pysfdc(), pysgex(), pysghf(), pysghg(), pysgqc(), pysgsu(), pysgtc(), pysgwz(), pyshow(), pysigh(), pyslha(), pyspen(), pysphe(), pysspa(), pystbh(), pystfe(), pystfu(), pystrf(), pysubh(), pysugi(), pytabu(), pytbbc(), pytbbn(), pytbdy(), pytecm(), pytest(), pythia(), pythrg(), pythru(), pyupin(), pyveto(), pyw1au(), pyw2au(), pywaux(), pywidt(), pywidx(), pyx2xg(), pyx2xh(), pyx3jt(), pyx4jt(), pyxdif(), pyxjet(), pyxkfl(), pyxtee(), pyxtot(), pyxxz6(), pyzdis(), quench(), splitfncint(), uglast(), ulalps(), ulangl(), ulmass(), wdsax(), wdsax1(), wdsax2(), and xsecint().

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

make a *new object

Definition at line 135 of file c2_factory.hh.

View newest version in sPHENIX GitHub at line 135 of file c2_factory.hh

Referenced by ludecy(), pyhikmap(), pyhimult(), pykmap(), pymass(), pymign(), pymult(), pyofsh(), pyptmi(), pysgsu(), and ulmass().

+ Here is the caller graph for this function:


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