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

#include <EicRoot/blob/master/eic/ayk/MgridInterpolation.h>

+ Collaboration diagram for MgridInterpolation:

Private Member Functions

 MgridInterpolation (Mgrid *mgrid)
 
int setAllowedCells (unsigned char _allowed_self_cells_mask, unsigned char _allowed_neighbour_cells_mask)
 
int prepairIrregularCase (int cmp)
 
int appendArbitraryNeighbouringCells (int cmp)
 
int checkNeighbouringCubicArea (TVector3 &xx, int cmp)
 
void fillOutputCubeArray (int gdim[3], MgridCombiCell *ok_arr, int shift[3])
 
int checkSmallCube (int gdim[3], MgridCombiCell *ok_arr, int shift[3])
 
int fillOkArray (int left[3], int adim[3], int cmp, MgridCombiCell *ok_arr)
 
void calculateReversedSequence ()
 
int allocateCellCubeMemory ()
 
int assignBestSequence ()
 
int assignSuggestedSequence (char _sequence[])
 
int precookSequentialHighCommon (int _adim[], char _sequence[])
 
int postcookSequentialHighCommon ()
 
int preCookMultiDimCommon (int _adim[])
 
int postCookMultiDimCommon ()
 

Private Attributes

unsigned char mode
 
Mgrid_mgrid
 
int adim [3]
 
int sequence [3]
 
int reversed [3]
 
unsigned char allowed_self_cells_mask
 
unsigned char allowed_neighbour_cells_mask
 
unsigned char cube_shift_allowed
 
unsigned char ideal_cube_required
 
int cube_cell_num
 
interfun fun [3]
 
int pdim [3]
 
int extension_prohibited [3]
 
int force_irregular_case
 
int force_1dim_weight_usage
 
int force_3dim_weight_usage
 
int fit_error_wanted
 
int gradient_wanted
 
int cell_counter
 
MgridCell ** cube
 
int left [3]
 
double * v [3]
 
ThreeDeePolySpacehspace [3]
 
ThreeDeePolynomialhfit [3]
 
ThreeDeePolySpacegspace
 
ThreeDeePolySpaceirregular
 
ThreeDeePolySpaceactual
 
ThreeDeePolynomialgfit
 
ThreeDeePolynomialgrad [3]
 
double gvalue [3]
 
double ferr
 

Friends

class Mgrid
 

Detailed Description

Definition at line 138 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 138 of file MgridInterpolation.h

Constructor & Destructor Documentation

MgridInterpolation::MgridInterpolation ( Mgrid mgrid)
private

Member Function Documentation

int MgridInterpolation::allocateCellCubeMemory ( )
private

Definition at line 71 of file MgridInterpolation.cxx.

View newest version in sPHENIX GitHub at line 71 of file MgridInterpolation.cxx

References adim, cube, and cube_cell_num.

Referenced by Mgrid::cookSequentialFastInterpolation(), preCookMultiDimCommon(), and precookSequentialHighCommon().

+ Here is the caller graph for this function:

int MgridInterpolation::appendArbitraryNeighbouringCells ( int  cmp)
private

Definition at line 543 of file MgridInterpolation.cxx.

View newest version in sPHENIX GitHub at line 543 of file MgridInterpolation.cxx

References _mgrid, _X_, adim, allowed_neighbour_cells_mask, MgridCell::B, MgridCombiCell::cell, Mgrid::cell_1derr_shift, Mgrid::cell_3derr_shift, cell_counter, MgridHeader::coord, CoordSystem::coord_num, cube, cube_cell_num, MgridDirection::dim, MgridHeader::dir, extension_prohibited, CoordSystem::fake, force_1dim_weight_usage, force_3dim_weight_usage, Mgrid::last_field_status, left, Mgrid::multiAddrToCombiCell(), MgridCombiCell::property, and Mgrid::self_qcell.

Referenced by Mgrid::directFieldValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int MgridInterpolation::assignBestSequence ( )
private

Definition at line 97 of file MgridInterpolation.cxx.

View newest version in sPHENIX GitHub at line 97 of file MgridInterpolation.cxx

References adim, calculateReversedSequence(), and sequence.

Referenced by Mgrid::cookSequentialFastInterpolation(), and precookSequentialHighCommon().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int MgridInterpolation::assignSuggestedSequence ( char  _sequence[])
private

Definition at line 122 of file MgridInterpolation.cxx.

View newest version in sPHENIX GitHub at line 122 of file MgridInterpolation.cxx

References _mgrid, calculateReversedSequence(), MgridHeader::coord, find_coord_by_name(), t_coord_name::id, sequence, and CoordSystem::system_type.

Referenced by Mgrid::cookSequentialFastInterpolation(), and precookSequentialHighCommon().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void MgridInterpolation::calculateReversedSequence ( )
private

Definition at line 86 of file MgridInterpolation.cxx.

View newest version in sPHENIX GitHub at line 86 of file MgridInterpolation.cxx

References reversed, and sequence.

Referenced by assignBestSequence(), and assignSuggestedSequence().

+ Here is the caller graph for this function:

int MgridInterpolation::checkNeighbouringCubicArea ( TVector3 &  xx,
int  cmp 
)
private

Definition at line 405 of file MgridInterpolation.cxx.

View newest version in sPHENIX GitHub at line 405 of file MgridInterpolation.cxx

References _CUBE_FAILURE_, _CUBE_SHIFT_, _FAILURE_, _mgrid, adim, Mgrid::cell_center_coord, cell_counter, checkSmallCube(), MgridHeader::coord, cube_shift_allowed, MgridDirection::dim, MgridHeader::dir, CoordSystem::fake, fillOkArray(), fillOutputCubeArray(), ideal_cube_required, Mgrid::last_field_status, left, Mgrid::repetition_flag, and Mgrid::self.

Referenced by Mgrid::directFieldValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int MgridInterpolation::checkSmallCube ( int  gdim[3],
MgridCombiCell ok_arr,
int  shift[3] 
)
private

Definition at line 329 of file MgridInterpolation.cxx.

View newest version in sPHENIX GitHub at line 329 of file MgridInterpolation.cxx

References adim, and MgridCombiCell::cell.

Referenced by checkNeighbouringCubicArea().

+ Here is the caller graph for this function:

int MgridInterpolation::fillOkArray ( int  left[3],
int  adim[3],
int  cmp,
MgridCombiCell ok_arr 
)
private

Definition at line 284 of file MgridInterpolation.cxx.

View newest version in sPHENIX GitHub at line 284 of file MgridInterpolation.cxx

References _DEAD_CELL_, _mgrid, allowed_neighbour_cells_mask, MgridCell::B, MgridCombiCell::cell, Mgrid::cell_1derr_shift, Mgrid::cell_3derr_shift, MgridHeader::coord, CoordSystem::coord_num, Acts::Test::dim, force_1dim_weight_usage, force_3dim_weight_usage, Mgrid::multiAddrToCombiCell(), and MgridCombiCell::property.

Referenced by checkNeighbouringCubicArea().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void MgridInterpolation::fillOutputCubeArray ( int  gdim[3],
MgridCombiCell ok_arr,
int  shift[3] 
)
private

Definition at line 359 of file MgridInterpolation.cxx.

View newest version in sPHENIX GitHub at line 359 of file MgridInterpolation.cxx

References _mgrid, adim, MgridCombiCell::cell, cell_counter, cube, Mgrid::last_field_status, MgridCombiCell::property, and Mgrid::self_qcell.

Referenced by checkNeighbouringCubicArea().

+ Here is the caller graph for this function:

int MgridInterpolation::postCookMultiDimCommon ( )
private

Definition at line 236 of file MgridInterpolation.cxx.

View newest version in sPHENIX GitHub at line 236 of file MgridInterpolation.cxx

References _mgrid, _Y_, _Z_, adim, ThreeDeePolySpace::buildOrthogonalPolynomials(), Mgrid::cell_center_coord, cube_cell_num, cube_shift_allowed, gfit, grad, gspace, ideal_cube_required, irregular, pdim, ThreeDeePolySpace::points, and ThreeDeePolyPoint::xx.

Referenced by Mgrid::cookMultiDimFitting(), and Mgrid::cookMultiDimInterpolation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int MgridInterpolation::postcookSequentialHighCommon ( )
private

Definition at line 181 of file MgridInterpolation.cxx.

View newest version in sPHENIX GitHub at line 181 of file MgridInterpolation.cxx

References _mgrid, adim, ThreeDeePolySpace::buildOrthogonalPolynomials(), Mgrid::cell_center_coord, hfit, hspace, ip(), pdim, ThreeDeePolySpace::points, sequence, and ThreeDeePolyPoint::xx.

Referenced by Mgrid::cookSequentialHighFitting(), and Mgrid::cookSequentialHighInterpolation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int MgridInterpolation::preCookMultiDimCommon ( int  _adim[])
private

Definition at line 218 of file MgridInterpolation.cxx.

View newest version in sPHENIX GitHub at line 218 of file MgridInterpolation.cxx

References _mgrid, adim, allocateCellCubeMemory(), MgridDirection::dim, and MgridHeader::dir.

Referenced by Mgrid::cookMultiDimFitting(), and Mgrid::cookMultiDimInterpolation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int MgridInterpolation::precookSequentialHighCommon ( int  _adim[],
char  _sequence[] 
)
private

Definition at line 156 of file MgridInterpolation.cxx.

View newest version in sPHENIX GitHub at line 156 of file MgridInterpolation.cxx

References _mgrid, adim, allocateCellCubeMemory(), assignBestSequence(), assignSuggestedSequence(), MgridDirection::dim, and MgridHeader::dir.

Referenced by Mgrid::cookSequentialHighFitting(), and Mgrid::cookSequentialHighInterpolation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int MgridInterpolation::prepairIrregularCase ( int  cmp)
private

Definition at line 644 of file MgridInterpolation.cxx.

View newest version in sPHENIX GitHub at line 644 of file MgridInterpolation.cxx

References _mgrid, MgridCell::B, ThreeDeePolySpace::buildOrthogonalPolynomials(), Mgrid::cell_3derr_shift, Mgrid::cellPtrToCoord(), cube, cube_cell_num, force_3dim_weight_usage, irregular, ThreeDeePolySpace::points, SQR, ThreeDeePolyPoint::weight, and ThreeDeePolyPoint::xx.

Referenced by Mgrid::directFieldValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int MgridInterpolation::setAllowedCells ( unsigned char  _allowed_self_cells_mask,
unsigned char  _allowed_neighbour_cells_mask 
)
private

Definition at line 47 of file MgridInterpolation.cxx.

View newest version in sPHENIX GitHub at line 47 of file MgridInterpolation.cxx

References _DEAD_CELL_, _MULTI_DIM_FITTING_, _MULTI_DIM_INTERPOLATION_, allowed_neighbour_cells_mask, allowed_self_cells_mask, and mode.

Friends And Related Function Documentation

friend class Mgrid
friend

Definition at line 139 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 139 of file MgridInterpolation.h

Referenced by import_field_map().

Member Data Documentation

ThreeDeePolySpace * MgridInterpolation::actual
private

Definition at line 222 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 222 of file MgridInterpolation.h

Referenced by Mgrid::directFieldValue().

unsigned char MgridInterpolation::allowed_neighbour_cells_mask
private

Definition at line 176 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 176 of file MgridInterpolation.h

Referenced by appendArbitraryNeighbouringCells(), fillOkArray(), MgridInterpolation(), and setAllowedCells().

unsigned char MgridInterpolation::allowed_self_cells_mask
private

Definition at line 176 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 176 of file MgridInterpolation.h

Referenced by Mgrid::directFieldValue(), MgridInterpolation(), and setAllowedCells().

int MgridInterpolation::cell_counter
private

Definition at line 206 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 206 of file MgridInterpolation.h

Referenced by appendArbitraryNeighbouringCells(), checkNeighbouringCubicArea(), Mgrid::directFieldValue(), and fillOutputCubeArray().

MgridCell** MgridInterpolation::cube
private

Definition at line 207 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 207 of file MgridInterpolation.h

Referenced by allocateCellCubeMemory(), appendArbitraryNeighbouringCells(), Mgrid::directFieldValue(), fillOutputCubeArray(), and prepairIrregularCase().

int MgridInterpolation::cube_cell_num
private
unsigned char MgridInterpolation::cube_shift_allowed
private

Definition at line 179 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 179 of file MgridInterpolation.h

Referenced by checkNeighbouringCubicArea(), MgridInterpolation(), and postCookMultiDimCommon().

int MgridInterpolation::extension_prohibited[3]
private

Definition at line 193 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 193 of file MgridInterpolation.h

Referenced by appendArbitraryNeighbouringCells().

double MgridInterpolation::ferr
private

Definition at line 227 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 227 of file MgridInterpolation.h

Referenced by Mgrid::directFieldValue().

int MgridInterpolation::fit_error_wanted
private

Definition at line 203 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 203 of file MgridInterpolation.h

Referenced by Mgrid::directFieldValue().

int MgridInterpolation::force_1dim_weight_usage
private

Definition at line 199 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 199 of file MgridInterpolation.h

Referenced by appendArbitraryNeighbouringCells(), Mgrid::directFieldValue(), and fillOkArray().

int MgridInterpolation::force_3dim_weight_usage
private

Definition at line 199 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 199 of file MgridInterpolation.h

Referenced by appendArbitraryNeighbouringCells(), fillOkArray(), and prepairIrregularCase().

int MgridInterpolation::force_irregular_case
private

Definition at line 199 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 199 of file MgridInterpolation.h

Referenced by Mgrid::directFieldValue().

interfun MgridInterpolation::fun[3]
private

Definition at line 185 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 185 of file MgridInterpolation.h

Referenced by Mgrid::cookSequentialFastInterpolation(), Mgrid::directFieldValue(), and import_value().

ThreeDeePolynomial* MgridInterpolation::gfit
private

Definition at line 224 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 224 of file MgridInterpolation.h

Referenced by Mgrid::directFieldValue(), and postCookMultiDimCommon().

ThreeDeePolynomial * MgridInterpolation::grad[3]
private

Definition at line 224 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 224 of file MgridInterpolation.h

Referenced by Mgrid::directFieldValue(), and postCookMultiDimCommon().

int MgridInterpolation::gradient_wanted
private

Definition at line 203 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 203 of file MgridInterpolation.h

Referenced by Mgrid::directFieldValue().

ThreeDeePolySpace* MgridInterpolation::gspace
private

Definition at line 222 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 222 of file MgridInterpolation.h

Referenced by Mgrid::directFieldValue(), and postCookMultiDimCommon().

double MgridInterpolation::gvalue[3]
private

Definition at line 227 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 227 of file MgridInterpolation.h

Referenced by Mgrid::directFieldValue().

ThreeDeePolynomial* MgridInterpolation::hfit[3]
private

Definition at line 218 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 218 of file MgridInterpolation.h

Referenced by Mgrid::directFieldValue(), and postcookSequentialHighCommon().

ThreeDeePolySpace* MgridInterpolation::hspace[3]
private

Definition at line 217 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 217 of file MgridInterpolation.h

Referenced by Mgrid::directFieldValue(), and postcookSequentialHighCommon().

unsigned char MgridInterpolation::ideal_cube_required
private

Definition at line 179 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 179 of file MgridInterpolation.h

Referenced by checkNeighbouringCubicArea(), MgridInterpolation(), and postCookMultiDimCommon().

ThreeDeePolySpace * MgridInterpolation::irregular
private

Definition at line 222 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 222 of file MgridInterpolation.h

Referenced by Mgrid::directFieldValue(), postCookMultiDimCommon(), and prepairIrregularCase().

int MgridInterpolation::left[3]
private

Definition at line 211 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 211 of file MgridInterpolation.h

Referenced by appendArbitraryNeighbouringCells(), calculate_swapping_rules(), checkNeighbouringCubicArea(), and Mgrid::directFieldValue().

int MgridInterpolation::reversed[3]
private

Definition at line 167 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 167 of file MgridInterpolation.h

Referenced by calculateReversedSequence(), and Mgrid::directFieldValue().

int MgridInterpolation::sequence[3]
private
double* MgridInterpolation::v[3]
private

Definition at line 214 of file MgridInterpolation.h.

View newest version in sPHENIX GitHub at line 214 of file MgridInterpolation.h

Referenced by Mgrid::cookSequentialFastInterpolation(), and Mgrid::directFieldValue().


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