ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4AdjointInterpolator Class Reference

#include <geant4/tree/geant4-10.6-release/source/processes/electromagnetic/adjoint/include/G4AdjointInterpolator.hh>

+ Collaboration diagram for G4AdjointInterpolator:

Public Member Functions

 ~G4AdjointInterpolator ()
 
G4double LinearInterpolation (G4double &x, G4double &x1, G4double &x2, G4double &y1, G4double &y2)
 
G4double LogarithmicInterpolation (G4double &x, G4double &x1, G4double &x2, G4double &y1, G4double &y2)
 
G4double ExponentialInterpolation (G4double &x, G4double &x1, G4double &x2, G4double &y1, G4double &y2)
 
G4double Interpolation (G4double &x, G4double &x1, G4double &x2, G4double &y1, G4double &y2, G4String InterPolMethod="Log")
 
size_t FindPosition (G4double &x, std::vector< G4double > &x_vec, size_t ind_min=0, size_t ind_max=0)
 
size_t FindPositionForLogVector (G4double &x, std::vector< G4double > &x_vec)
 
G4double Interpolate (G4double &x, std::vector< G4double > &x_vec, std::vector< G4double > &y_vec, G4String InterPolMethod="Log")
 
G4double InterpolateWithIndexVector (G4double &x, std::vector< G4double > &x_vec, std::vector< G4double > &y_vec, std::vector< size_t > &index_vec, G4double x0, G4double dx)
 
G4double InterpolateForLogVector (G4double &x, std::vector< G4double > &x_vec, std::vector< G4double > &y_vec)
 

Static Public Member Functions

static G4AdjointInterpolatorGetAdjointInterpolator ()
 
static G4AdjointInterpolatorGetInstance ()
 

Private Member Functions

 G4AdjointInterpolator ()
 

Static Private Attributes

static G4ThreadLocal
G4AdjointInterpolator
theInstance = 0
 

Detailed Description

Definition at line 52 of file G4AdjointInterpolator.hh.

View newest version in sPHENIX GitHub at line 52 of file G4AdjointInterpolator.hh

Constructor & Destructor Documentation

G4AdjointInterpolator::~G4AdjointInterpolator ( )

Definition at line 57 of file G4AdjointInterpolator.cc.

View newest version in sPHENIX GitHub at line 57 of file G4AdjointInterpolator.cc

G4AdjointInterpolator::G4AdjointInterpolator ( )
private

Definition at line 51 of file G4AdjointInterpolator.cc.

View newest version in sPHENIX GitHub at line 51 of file G4AdjointInterpolator.cc

Referenced by GetInstance().

+ Here is the caller graph for this function:

Member Function Documentation

G4double G4AdjointInterpolator::ExponentialInterpolation ( G4double x,
G4double x1,
G4double x2,
G4double y1,
G4double y2 
)

Definition at line 85 of file G4AdjointInterpolator.cc.

View newest version in sPHENIX GitHub at line 85 of file G4AdjointInterpolator.cc

References A(), B(), and x1.

Referenced by Interpolation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

size_t G4AdjointInterpolator::FindPosition ( G4double x,
std::vector< G4double > &  x_vec,
size_t  ind_min = 0,
size_t  ind_max = 0 
)

Definition at line 115 of file G4AdjointInterpolator.cc.

View newest version in sPHENIX GitHub at line 115 of file G4AdjointInterpolator.cc

Referenced by G4AdjointCSMatrix::AddData(), FindPositionForLogVector(), Interpolate(), and InterpolateWithIndexVector().

+ Here is the caller graph for this function:

size_t G4AdjointInterpolator::FindPositionForLogVector ( G4double x,
std::vector< G4double > &  x_vec 
)

Definition at line 163 of file G4AdjointInterpolator.cc.

View newest version in sPHENIX GitHub at line 163 of file G4AdjointInterpolator.cc

References FindPosition().

Referenced by G4AdjointCSManager::ComputeAdjointCS(), InterpolateForLogVector(), and G4VEmAdjointModel::SampleAdjSecEnergyFromCSMatrix().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4AdjointInterpolator * G4AdjointInterpolator::GetAdjointInterpolator ( )
static

Definition at line 33 of file G4AdjointInterpolator.cc.

View newest version in sPHENIX GitHub at line 33 of file G4AdjointInterpolator.cc

References GetInstance().

+ Here is the call graph for this function:

G4AdjointInterpolator * G4AdjointInterpolator::GetInstance ( void  )
static

Definition at line 40 of file G4AdjointInterpolator.cc.

View newest version in sPHENIX GitHub at line 40 of file G4AdjointInterpolator.cc

References G4AdjointInterpolator(), and theInstance.

Referenced by G4AdjointCSMatrix::AddData(), G4AdjointCSManager::ComputeAdjointCS(), GetAdjointInterpolator(), and G4VEmAdjointModel::SampleAdjSecEnergyFromCSMatrix().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4AdjointInterpolator::Interpolate ( G4double x,
std::vector< G4double > &  x_vec,
std::vector< G4double > &  y_vec,
G4String  InterPolMethod = "Log" 
)

Definition at line 188 of file G4AdjointInterpolator.cc.

View newest version in sPHENIX GitHub at line 188 of file G4AdjointInterpolator.cc

References FindPosition(), and Interpolation().

Referenced by G4VEmAdjointModel::SampleAdjSecEnergyFromCSMatrix().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4AdjointInterpolator::InterpolateForLogVector ( G4double x,
std::vector< G4double > &  x_vec,
std::vector< G4double > &  y_vec 
)

Definition at line 219 of file G4AdjointInterpolator.cc.

View newest version in sPHENIX GitHub at line 219 of file G4AdjointInterpolator.cc

References FindPositionForLogVector(), and LinearInterpolation().

Referenced by G4AdjointCSManager::ComputeAdjointCS(), and G4VEmAdjointModel::SampleAdjSecEnergyFromCSMatrix().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4AdjointInterpolator::InterpolateWithIndexVector ( G4double x,
std::vector< G4double > &  x_vec,
std::vector< G4double > &  y_vec,
std::vector< size_t > &  index_vec,
G4double  x0,
G4double  dx 
)

Definition at line 199 of file G4AdjointInterpolator.cc.

View newest version in sPHENIX GitHub at line 199 of file G4AdjointInterpolator.cc

References FindPosition(), int(), and Interpolation().

+ Here is the call graph for this function:

G4double G4AdjointInterpolator::Interpolation ( G4double x,
G4double x1,
G4double x2,
G4double y1,
G4double y2,
G4String  InterPolMethod = "Log" 
)

Definition at line 96 of file G4AdjointInterpolator.cc.

View newest version in sPHENIX GitHub at line 96 of file G4AdjointInterpolator.cc

References ExponentialInterpolation(), LinearInterpolation(), and LogarithmicInterpolation().

Referenced by Interpolate(), and InterpolateWithIndexVector().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4AdjointInterpolator::LinearInterpolation ( G4double x,
G4double x1,
G4double x2,
G4double y1,
G4double y2 
)

Definition at line 63 of file G4AdjointInterpolator.cc.

View newest version in sPHENIX GitHub at line 63 of file G4AdjointInterpolator.cc

References x1.

Referenced by G4AdjointCSManager::ComputeAdjointCS(), InterpolateForLogVector(), Interpolation(), LogarithmicInterpolation(), and G4VEmAdjointModel::SampleAdjSecEnergyFromCSMatrix().

+ Here is the caller graph for this function:

G4double G4AdjointInterpolator::LogarithmicInterpolation ( G4double x,
G4double x1,
G4double x2,
G4double y1,
G4double y2 
)

Definition at line 72 of file G4AdjointInterpolator.cc.

View newest version in sPHENIX GitHub at line 72 of file G4AdjointInterpolator.cc

References A(), B(), and LinearInterpolation().

Referenced by Interpolation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4ThreadLocal G4AdjointInterpolator * G4AdjointInterpolator::theInstance = 0
staticprivate

Definition at line 93 of file G4AdjointInterpolator.hh.

View newest version in sPHENIX GitHub at line 93 of file G4AdjointInterpolator.hh

Referenced by GetInstance().


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