a transformation of a coordinate, including an inverse
More...
#include <c2_function.hh>
|
| c2_transformation (bool transformed, float_type(*xin)(float_type), float_type(*xinp)(float_type), float_type(*xinpp)(float_type), float_type(*xout)(float_type)) |
| initialize all our function pointers More...
|
|
| c2_transformation (bool transformed) |
| initialize all our function pointers so that only the (overridden) virtual functions can be called without an error More...
|
|
virtual | ~c2_transformation () |
| the destructor More...
|
|
virtual float_type | fIn (float_type x) const |
| virtual input X transform More...
|
|
virtual float_type | fInPrime (float_type x) const |
| virtual input X transform derivative More...
|
|
virtual float_type | fInDPrime (float_type x) const |
| virtual input X transform second derivative More...
|
|
virtual float_type | fOut (float_type x) const |
| virtual output X transform More...
|
|
|
const bool | fTransformed |
| flag to indicate if this transform is not the identity More...
|
|
const bool | fHasStaticTransforms |
| flag to indicate if the static function pointers can be used for efficiency More...
|
|
float_type(*const | pIn )(float_type) |
| non-virtual pointer to input X transform More...
|
|
float_type(*const | pInPrime )(float_type) |
| non-virtual pointer to input X transform derivative More...
|
|
float_type(*const | pInDPrime )(float_type) |
| non-virtual pointer to input X transform second derivative More...
|
|
float_type(*const | pOut )(float_type) |
| non-virtual pointer to output X transform More...
|
|
|
static float_type | report_error (float_type x) |
| utility function for unimplemented conversion More...
|
|
static float_type | ident (float_type x) |
| utility function f(x)=x useful in axis transforms More...
|
|
static float_type | one (float_type) |
| utility function f(x)=1 useful in axis transforms More...
|
|
static float_type | zero (float_type) |
| utility function f(x)=0 useful in axis transforms More...
|
|
static float_type | recip (float_type x) |
| utility function f(x)=1/x useful in axis transforms More...
|
|
static float_type | recip_prime (float_type x) |
| utility function f(x)=-1/x**2 useful in axis transforms More...
|
|
static float_type | recip_prime2 (float_type x) |
| utility function f(x)=2/x**3 useful in axis transforms More...
|
|
template<typename float_type>
class c2_transformation< float_type >
a transformation of a coordinate, including an inverse
Definition at line 1257 of file c2_function.hh.
template<typename float_type>
c2_transformation< float_type >::c2_transformation |
( |
bool |
transformed, |
|
|
float_type(*)(float_type) |
xin, |
|
|
float_type(*)(float_type) |
xinp, |
|
|
float_type(*)(float_type) |
xinpp, |
|
|
float_type(*)(float_type) |
xout |
|
) |
| |
|
inline |
initialize all our function pointers
- Parameters
-
transformed | true if this function is not the identity |
xin | input X transform |
xinp | input X transform derivative |
xinpp | input X transform second derivative |
xout | output X transform, which MUST be the inverse of xin |
Definition at line 1265 of file c2_function.hh.
template<typename float_type>
initialize all our function pointers so that only the (overridden) virtual functions can be called without an error
- Parameters
-
transformed | true if this function is nonlinear |
Definition at line 1277 of file c2_function.hh.
template<typename float_type>
template<typename float_type>
template<typename float_type>
virtual input X transform second derivative
Definition at line 1307 of file c2_function.hh.
template<typename float_type>
template<typename float_type>
template<typename float_type>
utility function f(x)=x useful in axis transforms
Definition at line 1317 of file c2_function.hh.
template<typename float_type>
utility function f(x)=1 useful in axis transforms
Definition at line 1319 of file c2_function.hh.
template<typename float_type>
utility function f(x)=1/x useful in axis transforms
Definition at line 1323 of file c2_function.hh.
template<typename float_type>
utility function f(x)=-1/x**2 useful in axis transforms
Definition at line 1325 of file c2_function.hh.
1325 {
return -1/(
x*
x); }
template<typename float_type>
utility function f(x)=2/x**3 useful in axis transforms
Definition at line 1327 of file c2_function.hh.
1327 {
return 2/(
x*
x*
x); }
template<typename float_type>
utility function for unimplemented conversion
Definition at line 1313 of file c2_function.hh.
1314 throw c2_exception(
"use of improperly constructed axis transform");
the exception class for c2_function operations.
template<typename float_type>
utility function f(x)=0 useful in axis transforms
Definition at line 1321 of file c2_function.hh.
template<typename float_type>
flag to indicate if the static function pointers can be used for efficiency
Definition at line 1287 of file c2_function.hh.
template<typename float_type>
flag to indicate if this transform is not the identity
Definition at line 1284 of file c2_function.hh.
template<typename float_type>
non-virtual pointer to input X transform
- Note
- the pointers to functions allow highly optimized access when static functions are available. They are only used inside value_with_derivatives(), which is assumed to be the most critical routine.
Definition at line 1294 of file c2_function.hh.
template<typename float_type>
non-virtual pointer to input X transform second derivative
Definition at line 1298 of file c2_function.hh.
template<typename float_type>
non-virtual pointer to input X transform derivative
Definition at line 1296 of file c2_function.hh.
template<typename float_type>
The documentation for this class was generated from the following file:
- source/geant4.10.03.p03/examples/extended/electromagnetic/TestEm7/include/c2_function.hh