Geant4  v4-10.4-release
c2_function.hh 파일 참조

Provides the headers for the general c2_function algebra which fast, flexible operations on piecewise-twice-differentiable functions. 더 자세히 ...

#include <cmath>
#include <vector>
#include <utility>
#include <string>
#include <stdexcept>
#include <typeinfo>
#include <sstream>
#include <limits>
#include "c2_function.icc"

이 파일의 소스 코드 페이지로 가기

클래스

class  c2_exception
the exception class for c2_function operations. 더 자세히 ...

class  c2_composed_function_p< float_type >

class  c2_sum_p< float_type >

class  c2_diff_p< float_type >

class  c2_product_p< float_type >
create a c2_function which is the product of two other c2_functions.This should always be constructed using c2_function::operator*() 더 자세히 ...

class  c2_ratio_p< float_type >
create a c2_function which is the ratio of two other c2_functions.This should always be constructed using c2_function::operator/() 더 자세히 ...

class  c2_piecewise_function_p< float_type >
create a c2_function which is a piecewise assembly of other c2_functions.The functions must have increasing, non-overlapping domains. Any empty space between functions will be filled with a linear interpolation. 더 자세히 ...

create a quadratic mapping of another functionfor example, given a c2_function f 더 자세히 ...

class  c2_ptr< float_type >

class  c2_fblock< float_type >
structure used to hold evaluated function data at a point. 더 자세히 ...

class  c2_function< float_type >
the parent class for all c2_functions.c2_functions know their value, first, and second derivative at almost every point. They can be efficiently combined with binary operators, via c2_binary_function, composed via c2_composed_function_, have their roots found via find_root(), and be adaptively integrated via partial_integrals() or integral(). They also can carry information with them about how to find 'interesting' points on the function. This information is set with set_sampling_grid() and extracted with get_sampling_grid(). 더 자세히 ...

struct  c2_function< float_type >::recur_item
the data element for the internal recursion stack for the sampler and integrator 더 자세히 ...

struct  c2_function< float_type >::c2_integrate_recur
structure used to pass information recursively in integrator. 더 자세히 ...

struct  c2_function< float_type >::c2_sample_recur
structure used to pass information recursively in sampler. 더 자세히 ...

struct  c2_function< float_type >::c2_root_info
structure used to hold root bracketing information 더 자세히 ...

class  c2_classic_function_p< float_type >
a container into which any conventional c-style function can be dropped, to create a degenerate c2_function without derivatives. Mostly useful for sampling into interpolating functions. construct a reference to this with c2_classic_function() 더 자세히 ...

class  c2_const_ptr< float_type >
create a container for a c2_function which handles the reference counting. It is useful as a smart container to hold a c2_function and keep the reference count correct. The recommended way for a class to store a c2_function which is handed in from the outside is for it to have a c2_ptr member into which the passed-in function is stored. This way, when the class instance is deleted, it will automatically dereference any function which it was handed. 더 자세히 ...

class  c2_ptr< float_type >

class  c2_typed_ptr< float_type, c2_class >

class  c2_plugin_function_p< float_type >

class  c2_const_plugin_function_p< float_type >

class  c2_binary_function< float_type >

class  c2_scaled_function_p< float_type >

class  c2_cached_function_p< float_type >
A container into which any other c2_function can be dropped.It allows a function to be pre-evaluated at a point, and used at multiple places in an expression efficiently. If it is re-evaluated at the previous point, it returns the remembered values; otherwise, it re-evauates the function at the new point. 더 자세히 ...

class  c2_composed_function_p< float_type >

class  c2_sum_p< float_type >

class  c2_diff_p< float_type >

class  c2_product_p< float_type >
create a c2_function which is the product of two other c2_functions.This should always be constructed using c2_function::operator*() 더 자세히 ...

class  c2_ratio_p< float_type >
create a c2_function which is the ratio of two other c2_functions.This should always be constructed using c2_function::operator/() 더 자세히 ...

class  c2_constant_p< float_type >
a c2_function which is constantThe factory function c2_factory::constant() creates *new c2_constant_p() 더 자세히 ...

class  c2_transformation< float_type >
a transformation of a coordinate, including an inverse 더 자세히 ...

class  c2_transformation_linear< float_type >
the identity transform 더 자세히 ...

class  c2_transformation_log< float_type >
log axis transform 더 자세히 ...

class  c2_transformation_recip< float_type >
reciprocal axis transform 더 자세히 ...

class  c2_function_transformation< float_type >
a transformation of a function in and out of a coordinate space, using 2 c2_transformations 더 자세히 ...

class  c2_lin_lin_function_transformation< float_type >
a transformation of a function in and out of lin-lin space 더 자세히 ...

class  c2_log_log_function_transformation< float_type >
a transformation of a function in and out of log-log space 더 자세히 ...

class  c2_lin_log_function_transformation< float_type >
a transformation of a function in and out of lin-log space 더 자세히 ...

class  c2_log_lin_function_transformation< float_type >
a transformation of a function in and out of log-lin space 더 자세히 ...

class  c2_arrhenius_function_transformation< float_type >
a transformation of a function in and out of Arrhenius (1/x vs. log(y)) space 더 자세히 ...

class  interpolating_function_p< float_type >
create a cubic spline interpolation of a set of (x,y) pairsThis is one of the main reasons for c2_function objects to exist. 더 자세히 ...

class  log_lin_interpolating_function_p< float_type >
A spline with X transformed into log space. 더 자세히 ...

class  lin_log_interpolating_function_p< float_type >
A spline with Y transformed into log space.Most useful for functions looking like y=exp(x) 더 자세히 ...

class  log_log_interpolating_function_p< float_type >
A spline with X and Y transformed into log space.Most useful for functions looking like y=x^n or any other function with a huge X and Y dynamic range. 더 자세히 ...

class  arrhenius_interpolating_function_p< float_type >
A spline with X in reciprocal space and Y transformed in log space.Most useful for thermodynamic types of data where Y is roughly A*exp(-B/x). Typical examples are reaction rate data, and thermistor calibration data. 더 자세히 ...

class  c2_sin_p< float_type >
compute sin(x) with its derivatives.The factory function c2_factory::sin() creates *new c2_sin_p 더 자세히 ...

class  c2_cos_p< float_type >
compute cos(x) with its derivatives.The factory function c2_factory::cos() creates *new c2_cos_p 더 자세히 ...

class  c2_tan_p< float_type >
compute tan(x) with its derivatives.The factory function c2_factory::tan() creates *new c2_tan_p 더 자세히 ...

class  c2_log_p< float_type >
compute log(x) with its derivatives.The factory function c2_factory::log() creates *new c2_log_p 더 자세히 ...

class  c2_exp_p< float_type >
compute exp(x) with its derivatives.The factory function c2_factory::exp() creates *new c2_exp_p 더 자세히 ...

class  c2_sqrt_p< float_type >
compute sqrt(x) with its derivatives.The factory function c2_factory::sqrt() creates *new c2_sqrt_p() 더 자세히 ...

class  c2_recip_p< float_type >
compute scale/x with its derivatives.The factory function c2_factory::recip() creates *new c2_recip_p 더 자세히 ...

class  c2_identity_p< float_type >
compute x with its derivatives.The factory function c2_factory::identity() creates *new c2_identity_p 더 자세히 ...

class  c2_linear_p< float_type >
create a linear mapping of another functionfor example, given a c2_function f 더 자세히 ...

create a quadratic mapping of another functionfor example, given a c2_function f 더 자세히 ...

class  c2_power_law_p< float_type >
create a power law mapping of another functionfor example, given a c2_function f 더 자세히 ...

class  c2_inverse_function_p< float_type >
create the formal inverse function of another functionfor example, given a c2_function f 더 자세히 ...

class  accumulated_histogram< float_type >
An interpolating_function_p which is the cumulative integral of a histogram.Note than binedges should be one element longer than binheights, since the lower & upper edges are specified. Note that this is a malformed spline, since the second derivatives are all zero, so it has less continuity. Also, note that the bin edges can be given in backwards order to generate the reversed accumulation (starting at the high end) 더 자세히 ...

class  c2_connector_function_p< float_type >
create a c2_function which smoothly connects two other c2_functions.This takes two points and generates a polynomial which matches two c2_function arguments at those two points, with two derivatives at each point, and an arbitrary value at the center of the region. It is useful for splicing together functions over rough spots (0/0, for example). 더 자세히 ...

class  c2_piecewise_function_p< float_type >
create a c2_function which is a piecewise assembly of other c2_functions.The functions must have increasing, non-overlapping domains. Any empty space between functions will be filled with a linear interpolation. 더 자세히 ...

매크로

#define c2_isnan   std::isnan

#define c2_isfinite   std::isfinite

상세한 설명

Provides the headers for the general c2_function algebra which fast, flexible operations on piecewise-twice-differentiable functions.

참고
Factory Functions for information on constructing

c2_function.hh 파일에서 정의되었습니다.

매크로 문서화

 #define c2_isfinite   std::isfinite

c2_function.hh 파일의 52 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : c2_function< G4double >::fill_fblock().

 #define c2_isnan   std::isnan

c2_function.hh 파일의 51 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : c2_function< G4double >::fill_fblock().