ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
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. More...
#include <geant4/tree/geant4-10.6-release/examples/extended/electromagnetic/TestEm7/include/c2_function.hh>
Public Member Functions | |
c2_const_ptr () | |
construct the container with no function | |
c2_const_ptr (const c2_function< float_type > &f) | |
construct the container with a pre-defined function | |
c2_const_ptr (const c2_const_ptr< float_type > &src) | |
copy constructor | |
void | set_function (const c2_function< float_type > *f) |
const c2_const_ptr< float_type > & | operator= (const c2_const_ptr< float_type > &f) |
fill the container from another container | |
const c2_function< float_type > & | operator= (const c2_function< float_type > &f) |
fill the container with a function | |
void | release_for_return () |
release the function without destroying it, so it can be returned from a function | |
void | unset_function (void) |
clear the function | |
~c2_const_ptr () | |
destructor | |
const c2_function< float_type > & | get () const |
get a reference to our owned function | |
const c2_function< float_type > * | get_ptr () const |
get an unchecked pointer to our owned function | |
const c2_function< float_type > * | operator-> () const |
get a checked pointer to our owned function | |
bool | valid () const |
check if we have a valid function | |
operator const c2_function< float_type > & () const | |
type coercion operator which lets us use a pointer as if it were a const c2_function | |
float_type | operator() (float_type x) const |
convenience operator to make us look like a function | |
float_type | operator() (float_type x, float_type *yprime, float_type *yprime2) const |
convenience operator to make us look like a function | |
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. | |
c2_diff_p< float_type > & | operator- (const c2_function< float_type > &rhs) const |
c2_product_p< float_type > & | operator* (const c2_function< float_type > &rhs) const |
c2_ratio_p< float_type > & | operator/ (const c2_function< float_type > &rhs) const |
c2_composed_function_p < float_type > & | operator() (const c2_function< float_type > &inner) const |
compose this function outside another. | |
Protected Attributes | |
const c2_function< float_type > * | func |
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.
This class contains a copy constructor and operator=, to make it fairly easy to make a std::vector of these objects, and have it work as expected.
Definition at line 680 of file c2_function.hh.
View newest version in sPHENIX GitHub at line 680 of file c2_function.hh
|
inline |
construct the container with no function
Definition at line 683 of file c2_function.hh.
View newest version in sPHENIX GitHub at line 683 of file c2_function.hh
|
inline |
construct the container with a pre-defined function
f | the function to store |
Definition at line 686 of file c2_function.hh.
View newest version in sPHENIX GitHub at line 686 of file c2_function.hh
|
inline |
copy constructor
src | the container to copy |
Definition at line 690 of file c2_function.hh.
View newest version in sPHENIX GitHub at line 690 of file c2_function.hh
|
inline |
destructor
Definition at line 731 of file c2_function.hh.
View newest version in sPHENIX GitHub at line 731 of file c2_function.hh
|
inline |
get a reference to our owned function
Definition at line 734 of file c2_function.hh.
View newest version in sPHENIX GitHub at line 734 of file c2_function.hh
Referenced by G4ScreenedCoulombClassicalKinematics::DoScreeningComputation(), c2_ptr< G4double >::get(), and c2_typed_ptr< float_type, c2_class >::get().
|
inline |
get an unchecked pointer to our owned function
Definition at line 740 of file c2_function.hh.
View newest version in sPHENIX GitHub at line 740 of file c2_function.hh
Referenced by c2_const_ptr< G4double >::c2_const_ptr().
|
inline |
type coercion operator which lets us use a pointer as if it were a const c2_function
Definition at line 749 of file c2_function.hh.
View newest version in sPHENIX GitHub at line 749 of file c2_function.hh
|
inline |
convenience operator to make us look like a function
x | the value at which to evaluate the contained function |
Definition at line 755 of file c2_function.hh.
View newest version in sPHENIX GitHub at line 755 of file c2_function.hh
|
inline |
convenience operator to make us look like a function
x | the value at which to evaluate the contained function |
yprime | the derivative |
yprime2 | the second derivative |
Definition at line 766 of file c2_function.hh.
View newest version in sPHENIX GitHub at line 766 of file c2_function.hh
|
inline |
compose this function outside another.
inner | the inner function |
Definition at line 789 of file c2_function.hh.
View newest version in sPHENIX GitHub at line 789 of file c2_function.hh
|
inline |
Definition at line 779 of file c2_function.hh.
View newest version in sPHENIX GitHub at line 779 of file c2_function.hh
|
inline |
factory function to create a c2_sum_p from a regular algebraic expression.
rhs | the right-hand term of the sum |
Definition at line 773 of file c2_function.hh.
View newest version in sPHENIX GitHub at line 773 of file c2_function.hh
|
inline |
Definition at line 776 of file c2_function.hh.
View newest version in sPHENIX GitHub at line 776 of file c2_function.hh
|
inline |
get a checked pointer to our owned function
Definition at line 742 of file c2_function.hh.
View newest version in sPHENIX GitHub at line 742 of file c2_function.hh
|
inline |
Definition at line 782 of file c2_function.hh.
View newest version in sPHENIX GitHub at line 782 of file c2_function.hh
|
inline |
fill the container from another container
f | the container to copy |
Definition at line 702 of file c2_function.hh.
View newest version in sPHENIX GitHub at line 702 of file c2_function.hh
|
inline |
fill the container with a function
f | the function |
Definition at line 707 of file c2_function.hh.
View newest version in sPHENIX GitHub at line 707 of file c2_function.hh
|
inline |
release the function without destroying it, so it can be returned from a function
This is usually the very last line of a function before the return statement, so that any exceptions that happen during execution of the function will cause proper cleanup. Once the function has been released from its container this way, it is an orhpaned object until the caller claims it, so it could get lost if an exception happens.
Definition at line 719 of file c2_function.hh.
View newest version in sPHENIX GitHub at line 719 of file c2_function.hh
Referenced by LJZBLScreening().
|
inline |
Definition at line 692 of file c2_function.hh.
View newest version in sPHENIX GitHub at line 692 of file c2_function.hh
Referenced by c2_const_ptr< G4double >::c2_const_ptr(), c2_ptr< G4double >::c2_ptr(), c2_typed_ptr< float_type, c2_class >::c2_typed_ptr(), c2_const_ptr< G4double >::operator=(), c2_ptr< G4double >::operator=(), c2_typed_ptr< float_type, c2_class >::operator=(), c2_const_ptr< G4double >::unset_function(), and c2_const_ptr< G4double >::~c2_const_ptr().
|
inline |
clear the function
Any attempt to use this c2_plugin_function_p throws an exception if the saved function is cleared.
Definition at line 729 of file c2_function.hh.
View newest version in sPHENIX GitHub at line 729 of file c2_function.hh
|
inline |
check if we have a valid function
Definition at line 745 of file c2_function.hh.
View newest version in sPHENIX GitHub at line 745 of file c2_function.hh
|
protected |
Definition at line 794 of file c2_function.hh.
View newest version in sPHENIX GitHub at line 794 of file c2_function.hh
Referenced by c2_const_ptr< G4double >::get(), c2_const_ptr< G4double >::get_ptr(), c2_ptr< G4double >::get_ptr(), c2_typed_ptr< float_type, c2_class >::get_ptr(), c2_const_ptr< G4double >::release_for_return(), c2_const_ptr< G4double >::set_function(), and c2_const_ptr< G4double >::valid().