| 
    Geant4
    10.02.p02
    
   | 
 
a c2_plugin_function_p which promises not to fiddle with the plugged function.The factory function c2_factory::const_plugin_function() creates *new c2_const_plugin_function_p() More...
#include <c2_function.hh>
 Inheritance diagram for c2_const_plugin_function_p< float_type >:
 Collaboration diagram for c2_const_plugin_function_p< float_type >:Public Member Functions | |
| c2_const_plugin_function_p () | |
| construct the container with no function  More... | |
| c2_const_plugin_function_p (const c2_function< float_type > &f) | |
| construct the container with a pre-defined function  More... | |
| void | set_function (const c2_function< float_type > *f) | 
| fill the container with a new function, or clear it with a null pointer  More... | |
| virtual | ~c2_const_plugin_function_p () | 
| destructor  More... | |
| const c2_function< float_type > & | get () const throw (c2_exception) | 
| get a const reference to our owned function, for direct access  More... | |
  Public Member Functions inherited from c2_plugin_function_p< float_type > | |
| c2_plugin_function_p () | |
| construct the container with no function  More... | |
| c2_plugin_function_p (c2_function< float_type > &f) | |
| construct the container with a pre-defined function  More... | |
| void | set_function (c2_function< float_type > *f) | 
| fill the container with a new function, or clear it with a null pointer and copy our domain  More... | |
| virtual float_type | value_with_derivatives (float_type x, float_type *yprime, float_type *yprime2) const throw (c2_exception) | 
| get the value and derivatives.  More... | |
| virtual | ~c2_plugin_function_p () | 
| destructor  More... | |
| void | unset_function () | 
| clear our function  More... | |
| virtual void | get_sampling_grid (float_type amin, float_type amax, std::vector< float_type > &grid) const | 
| return the grid of 'interesting' points along this function which lie in the region requested  More... | |
  Public Member Functions inherited from c2_function< float_type > | |
| const std::string | cvs_header_vers () const | 
| get versioning information for the header file  More... | |
| const std::string | cvs_file_vers () const | 
| get versioning information for the source file  More... | |
| virtual | ~c2_function () | 
| destructor  More... | |
| float_type | operator() (float_type x) const throw (c2_exception) | 
| evaluate the function in the classic way, ignoring derivatives.  More... | |
| float_type | operator() (float_type x, float_type *yprime, float_type *yprime2) const throw (c2_exception) | 
| get the value and derivatives.  More... | |
| float_type | find_root (float_type lower_bracket, float_type upper_bracket, float_type start, float_type value, int *error=0, float_type *final_yprime=0, float_type *final_yprime2=0) const throw (c2_exception) | 
| solve f(x)==value very efficiently, with explicit knowledge of derivatives of the function  More... | |
| float_type | partial_integrals (std::vector< float_type > xgrid, std::vector< float_type > *partials=0, float_type abs_tol=1e-12, float_type rel_tol=1e-12, int derivs=2, bool adapt=true, bool extrapolate=true) const throw (c2_exception) | 
| for points in xgrid, adaptively return Integral[f(x),{x,xgrid[i],xgrid[i+1]}] and return in vector, along with sum  More... | |
| float_type | integral (float_type amin, float_type amax, std::vector< float_type > *partials=0, float_type abs_tol=1e-12, float_type rel_tol=1e-12, int derivs=2, bool adapt=true, bool extrapolate=true) const throw (c2_exception) | 
| a fully-automated integrator which uses the information provided by the get_sampling_grid() function to figure out what to do.  More... | |
| c2_piecewise_function_p < float_type > *  | adaptively_sample (float_type amin, float_type amax, float_type abs_tol=1e-12, float_type rel_tol=1e-12, int derivs=2, std::vector< float_type > *xvals=0, std::vector< float_type > *yvals=0) const throw (c2_exception) | 
| create a c2_piecewise_function_p from c2_connector_function_p segments which is a representation of the parent function to the specified accuracy, but maybe much cheaper to evaluate  More... | |
| float_type | xmin () const | 
| return the lower bound of the domain for this function as set by set_domain()  More... | |
| float_type | xmax () const | 
| return the upper bound of the domain for this function as set by set_domain()  More... | |
| void | set_domain (float_type amin, float_type amax) | 
| set the domain for this function.  More... | |
| size_t | get_evaluations () const | 
| this is a counter owned by the function but which can be used to monitor efficiency of algorithms.  More... | |
| void | reset_evaluations () const | 
| reset the counter  More... | |
| void | increment_evaluations () const | 
| count evaluations  More... | |
| bool | check_monotonicity (const std::vector< float_type > &data, const char message[]) const throw (c2_exception) | 
| check that a vector is monotonic, throw an exception if not, and return a flag if it is reversed  More... | |
| virtual void | set_sampling_grid (const std::vector< float_type > &grid) throw (c2_exception) | 
| establish a grid of 'interesting' points on the function.  More... | |
| std::vector< float_type > * | get_sampling_grid_pointer () const | 
| get the sampling grid, which may be a null pointer  More... | |
| void | preen_sampling_grid (std::vector< float_type > *result) const | 
| clean up endpoints on a grid of points  More... | |
| void | refine_sampling_grid (std::vector< float_type > &grid, size_t refinement) const | 
| refine a grid by splitting each interval into more intervals  More... | |
| c2_function< float_type > & | normalized_function (float_type amin, float_type amax, float_type norm=1.0) const throw (c2_exception) | 
| create a new c2_function from this one which is normalized on the interval  More... | |
| c2_function< float_type > & | square_normalized_function (float_type amin, float_type amax, float_type norm=1.0) const throw (c2_exception) | 
| create a new c2_function from this one which is square-normalized on the interval  More... | |
| c2_function< float_type > & | square_normalized_function (float_type amin, float_type amax, const c2_function< float_type > &weight, float_type norm=1.0) const throw (c2_exception) | 
| create a new c2_function from this one which is square-normalized with the provided weight on the interval  More... | |
| c2_sum_p< float_type > & | operator+ (const c2_function< float_type > &rhs) const | 
| factory function to create a c2_sum_p from a regular algebraic expression.  More... | |
| c2_diff_p< float_type > & | operator- (const c2_function< float_type > &rhs) const | 
| factory function to create a c2_diff_p from a regular algebraic expression.  More... | |
| c2_product_p< float_type > & | operator* (const c2_function< float_type > &rhs) const | 
| factory function to create a c2_product_p from a regular algebraic expression.  More... | |
| c2_ratio_p< float_type > & | operator/ (const c2_function< float_type > &rhs) const | 
| factory function to create a c2_ratio_p from a regular algebraic expression.  More... | |
| c2_composed_function_p < float_type > &  | operator() (const c2_function< float_type > &inner) const | 
| compose this function outside another.  More... | |
| float_type | get_trouble_point () const | 
| Find out where a calculation ran into trouble, if it got a nan. If the most recent computation did not return a nan, this is undefined.  More... | |
| void | claim_ownership () const | 
| increment our reference count. Destruction is only legal if the count is zero.  More... | |
| size_t | release_ownership_for_return () const throw (c2_exception) | 
| decrement our reference count. Do not destroy at zero.  More... | |
| void | release_ownership () const throw (c2_exception) | 
| decrement our reference count. If the count reaches zero, destroy ourself.  More... | |
| size_t | count_owners () const | 
| get the reference count, mostly for debugging  More... | |
| void | fill_fblock (c2_fblock< float_type > &fb) const throw (c2_exception) | 
| fill in a c2_fblock<float_type>... a shortcut for the integrator & sampler  More... | |
Additional Inherited Members | |
  Protected Member Functions inherited from c2_function< float_type > | |
| c2_function (const c2_function< float_type > &src) | |
| c2_function () | |
| virtual void | set_sampling_grid_pointer (std::vector< float_type > &grid) | 
  Protected Attributes inherited from c2_plugin_function_p< float_type > | |
| c2_ptr< float_type > | func | 
  Protected Attributes inherited from c2_function< float_type > | |
| std::vector< float_type > * | sampling_grid | 
| bool | no_overwrite_grid | 
| float_type | fXMin | 
| float_type | fXMax | 
| size_t | evaluations | 
| float_type | bad_x_point | 
| this point may be used to record where a calculation ran into trouble  More... | |
a c2_plugin_function_p which promises not to fiddle with the plugged function.
The factory function c2_factory::const_plugin_function() creates *new c2_const_plugin_function_p()
Definition at line 824 of file c2_function.hh.
      
  | 
  inline | 
construct the container with no function
Definition at line 827 of file c2_function.hh.
      
  | 
  inline | 
construct the container with a pre-defined function
Definition at line 829 of file c2_function.hh.
      
  | 
  inlinevirtual | 
destructor
Definition at line 835 of file c2_function.hh.
      
  | 
  inline | |||||||||||||
get a const reference to our owned function, for direct access
Definition at line 838 of file c2_function.hh.
      
  | 
  inline | 
fill the container with a new function, or clear it with a null pointer
Definition at line 832 of file c2_function.hh.
Referenced by c2_const_plugin_function_p< G4double >::c2_const_plugin_function_p(), and G4ScreenedCoulombClassicalKinematics::DoScreeningComputation().
 Here is the caller graph for this function: