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

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

+ Inheritance diagram for Mgrid:
+ Collaboration diagram for Mgrid:

Public Member Functions

 Mgrid (char *_name, MgridType _type)
 
 Mgrid (FILE *fin)
 
int turnInterpolationOff ()
 
int setInterpolationMode (unsigned mode, int adim[])
 
int setHrcInterpolationMode ()
 
int setHtcInterpolationMode (t_htc_interpolation *htci)
 
int setFittingMode (unsigned mode, int adim[], int pdim[])
 
int switchInterpolation (char field_component_name, MgridInterpolation *inter)
 
int restoreInterpolations ()
 
int exportFieldMap (char *file_name, unsigned char contents)
 
int attachToHeap (Mgrid *heap)
 
int initializeAsHeap ()
 
int initializeAsSingleMgrid (int _ram_cell_size)
 
unsigned getCellNum ()
 
void markCellAsSafe (unsigned id)
 
int cellPtrToLinear (const MgridCell *cell) const
 
MgridCellcoordToCellPtr (double xx[])
 
MgridCelllinearAddrToCellPtr (int linear)
 
int coordToMultiAddr (TVector3 &xx, int id[])
 
int coordToCombiCell (TVector3 &xx, MgridCombiCell *qcell)
 
MgridCellcoordToCellPtr (TVector3 &xx)
 
int linearAddrToCoord (int linear, TVector3 &xx)
 
int multiAddrToCoord (int id[], TVector3 &xx)
 
int compressedCoordToLinearAddr (TVector3 &xx)
 
int cellPtrToCoord (MgridCell *cell, TVector3 &xx)
 
int getCylindricalFieldValue (TVector3 &xx, TVector3 &B)
 
int getCartesianFieldValue (TVector3 &xx, TVector3 &B)
 
- Public Member Functions inherited from MgridHeader
const char * getName ()
 
void setCreationMethod (unsigned method)
 

Public Attributes

Mgrid ** children
 
int repetition_flag
 
- Public Attributes inherited from MgridHeader
__u64 field_calculation_method
 
__u64 cell_contents_bits
 
CoordSystem coord
 
CoordSystem field
 
MgridDirection dir [3]
 

Private Member Functions

int directFieldValue (TVector3 &xx, TVector3 &B)
 
int setModeWrapper (unsigned mode, int adim[], int pdim[], char sequence[])
 
MgridInterpolationcookInterpolationOff ()
 
MgridInterpolationcookSequentialFastInterpolation (int _adim[], char _sequence[])
 
MgridInterpolationcookSequentialHighInterpolation (int _adim[], char _sequence[])
 
MgridInterpolationcookSequentialHighFitting (int _adim[], int _pdim[], char _sequence[])
 
MgridInterpolationcookMultiDimInterpolation (int _adim[])
 
MgridInterpolationcookMultiDimFitting (int _adim[], int _pdim[])
 
MgridInterpolationcookInterpolation (unsigned mode, int _adim[]=0, int _pdim[]=0, char _sequence[]=0)
 
int linearAddrToMulti (int linear, int id[3])
 
MgridCellmultiAddrToCellPtr (int id[3])
 
int multiAddrToLinear (int id[3])
 
int multiAddrToCombiCell (int id[], MgridCombiCell *qcell)
 
int changePosition (double shift[3], double theta[3], double phi[3])
 
int recalculatePosition ()
 
int getFieldValue (t_3d_cs_vector *X, t_3d_cs_vector *D)
 
int findSelfCell (TVector3 &xx)
 
t_3d_cs_vector convertInputCoordinates (t_3d_cs_vector *X)
 
int exportCore (FILE *fout, unsigned char contents)
 
int getFixedTypeFieldValue (unsigned char system_type, TVector3 &xx, TVector3 &B)
 
int suggestedPropertyArrayTail ()
 
void convertOutputField (t_3d_cs_vector *X, t_3d_cs_vector *D, unsigned char wanted_field_coord_system_type)
 

Private Attributes

int cell_double_word_num
 
int useful_cell_size
 
int cell_xx_shift
 
int cell_ferr_shift
 
int cell_fchi_shift
 
int cell_grad_shift
 
int cell_1derr_shift
 
int cell_3derr_shift
 
double scaling_factor
 
int * cexp
 
int * fexp
 
int cell_num
 
int ram_cell_size
 
int last_cell_size
 
unsigned char * cells
 
unsigned char * properties
 
double * cell_center_coord [3]
 
MgridPositionposition
 
MgridInterpolationinterpolation [3]
 
MgridInterpolationsaved_interpolation [3]
 
int self [3]
 
MgridCombiCell self_qcell
 
unsigned last_field_status
 

Friends

class MgridInterpolation
 

Additional Inherited Members

- Protected Attributes inherited from MgridHeader
__u64 magic_header
 
__u64 format_id
 
__u64 __type
 
__u64 creation_time
 
__u64 creation_method
 
char parent_name [MGRID_NAME_LENGTH_MAX]
 
__u64 parent_type
 
char name [MGRID_NAME_LENGTH_MAX]
 
__u64 child_num
 
__u64 object_contents_bits
 
double shift [3]
 
double theta [3]
 
double phi [3]
 
unsigned char reserved [1024]
 
__u64 magic_trailer
 

Detailed Description

Definition at line 47 of file Mgrid.h.

View newest version in sPHENIX GitHub at line 47 of file Mgrid.h

Constructor & Destructor Documentation

Mgrid::Mgrid ( char *  _name,
MgridType  _type 
)

Definition at line 26 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 26 of file Mgrid.cxx

References MgridHeader::__type, _MFILE_MAGIC_, _MGRID_FORMAT_ID_, MgridHeader::creation_time, MgridHeader::format_id, MgridHeader::magic_header, MgridHeader::magic_trailer, MGRID_NAME_LENGTH_MAX, MgridHeader::name, MgridHeader::phi, position, repetition_flag, MgridHeader::shift, MgridHeader::theta, and Acts::Test::time.

Referenced by Mgrid().

+ Here is the caller graph for this function:

Mgrid::Mgrid ( FILE *  fin)

Definition at line 58 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 58 of file Mgrid.cxx

References MgridHeader::__type, _CELL_DATA_, _CELL_PROPERTIES_, _MFILE_MAGIC_, _MGRID_HEAP_, _SAFE_CELL_, cell_num, cells, MgridHeader::child_num, children, initializeAsHeap(), initializeAsSingleMgrid(), MgridHeader::magic_header, MgridHeader::magic_trailer, Mgrid(), MgridHeader::object_contents_bits, properties, suggestedPropertyArrayTail(), and useful_cell_size.

+ Here is the call graph for this function:

Member Function Documentation

int Mgrid::attachToHeap ( Mgrid heap)

Definition at line 1048 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 1048 of file Mgrid.cxx

References MgridHeader::__type, _MGRID_HEAP_, MgridHeader::child_num, and children.

Referenced by convert_cell_list_to_mgrid().

+ Here is the caller graph for this function:

int Mgrid::cellPtrToCoord ( MgridCell cell,
TVector3 &  xx 
)

Definition at line 805 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 805 of file Mgrid.cxx

References cell_num, cells, linearAddrToCoord(), offset, and ram_cell_size.

Referenced by MgridInterpolation::prepairIrregularCase().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int Mgrid::cellPtrToLinear ( const MgridCell cell) const

Definition at line 913 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 913 of file Mgrid.cxx

References cells, and ram_cell_size.

Referenced by EicBeamLineElementMap::Initialize().

+ Here is the caller graph for this function:

int Mgrid::changePosition ( double  shift[3],
double  theta[3],
double  phi[3] 
)
private

Definition at line 1202 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 1202 of file Mgrid.cxx

References MgridHeader::phi, recalculatePosition(), MgridHeader::shift, and MgridHeader::theta.

+ Here is the call graph for this function:

int Mgrid::compressedCoordToLinearAddr ( TVector3 &  xx)

Definition at line 926 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 926 of file Mgrid.cxx

References cexp, coordToMultiAddr(), and multiAddrToLinear().

Referenced by convert_cell_list_to_mgrid().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

t_3d_cs_vector Mgrid::convertInputCoordinates ( t_3d_cs_vector X)
private

Definition at line 1765 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 1765 of file Mgrid.cxx

References _CARTESIAN_, _CYLINDRICAL_, MgridHeader::coord, MgridPosition::direct, position, MgridPosition::rotation_flag, MgridHeader::shift, MgridPosition::shift_flag, t_3d_cs_vector::system_type, CoordSystem::system_type, transform_coord_type(), and t_3d_cs_vector::xx.

Referenced by getFieldValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Mgrid::convertOutputField ( t_3d_cs_vector X,
t_3d_cs_vector D,
unsigned char  wanted_field_coord_system_type 
)
private

Definition at line 1711 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 1711 of file Mgrid.cxx

References _CARTESIAN_, _CYLINDRICAL_, _F_, cos(), deg2rad, MgridHeader::field, position, MgridPosition::reversed, MgridPosition::rotation_flag, t_3d_cs_vector::system_type, CoordSystem::system_type, transform_coord_type(), transform_field_type(), and t_3d_cs_vector::xx.

Referenced by getFieldValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

MgridInterpolation * Mgrid::cookInterpolation ( unsigned  mode,
int  _adim[] = 0,
int  _pdim[] = 0,
char  _sequence[] = 0 
)
private

Definition at line 690 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 690 of file Mgrid.cxx

References _MULTI_DIM_FITTING_, _MULTI_DIM_INTERPOLATION_, _NO_INTERPOLATION_, _SEQUENTIAL_FAST_INTERPOLATION_, _SEQUENTIAL_HIGH_FITTING_, _SEQUENTIAL_HIGH_INTERPOLATION_, cookInterpolationOff(), cookMultiDimFitting(), cookMultiDimInterpolation(), cookSequentialFastInterpolation(), cookSequentialHighFitting(), and cookSequentialHighInterpolation().

Referenced by setModeWrapper().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

MgridInterpolation * Mgrid::cookInterpolationOff ( )
private

Definition at line 451 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 451 of file Mgrid.cxx

References _NO_INTERPOLATION_, MgridInterpolation, and MgridInterpolation::mode.

Referenced by cookInterpolation().

+ Here is the caller graph for this function:

MgridInterpolation * Mgrid::cookMultiDimFitting ( int  _adim[],
int  _pdim[] 
)
private

Definition at line 664 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 664 of file Mgrid.cxx

References _MULTI_DIM_FITTING_, MgridInterpolation::adim, MgridInterpolation, MgridInterpolation::mode, MgridInterpolation::pdim, MgridInterpolation::postCookMultiDimCommon(), and MgridInterpolation::preCookMultiDimCommon().

Referenced by cookInterpolation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

MgridInterpolation * Mgrid::cookMultiDimInterpolation ( int  _adim[])
private

Definition at line 643 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 643 of file Mgrid.cxx

References _MULTI_DIM_INTERPOLATION_, MgridInterpolation::adim, MgridInterpolation, MgridInterpolation::mode, MgridInterpolation::pdim, MgridInterpolation::postCookMultiDimCommon(), and MgridInterpolation::preCookMultiDimCommon().

Referenced by cookInterpolation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

MgridInterpolation * Mgrid::cookSequentialFastInterpolation ( int  _adim[],
char  _sequence[] 
)
private

Definition at line 535 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 535 of file Mgrid.cxx

References _SEQUENTIAL_FAST_INTERPOLATION_, MgridInterpolation::adim, MgridInterpolation::allocateCellCubeMemory(), MgridInterpolation::assignBestSequence(), MgridInterpolation::assignSuggestedSequence(), Acts::Test::dim, MgridHeader::dir, MgridInterpolation::fun, linear_interpolation(), MgridInterpolation, MgridInterpolation::mode, quad3(), quad_interpolation(), MgridInterpolation::sequence, trivial_assignment(), and MgridInterpolation::v.

Referenced by cookInterpolation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

MgridInterpolation * Mgrid::cookSequentialHighFitting ( int  _adim[],
int  _pdim[],
char  _sequence[] 
)
private

Definition at line 615 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 615 of file Mgrid.cxx

References _SEQUENTIAL_HIGH_FITTING_, MgridHeader::coord, Acts::Test::dim, MgridHeader::dir, CoordSystem::fake, MgridInterpolation, MgridInterpolation::mode, MgridInterpolation::pdim, MgridInterpolation::postcookSequentialHighCommon(), and MgridInterpolation::precookSequentialHighCommon().

Referenced by cookInterpolation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

MgridInterpolation * Mgrid::cookSequentialHighInterpolation ( int  _adim[],
char  _sequence[] 
)
private

Definition at line 596 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 596 of file Mgrid.cxx

References _SEQUENTIAL_HIGH_INTERPOLATION_, MgridInterpolation::adim, MgridInterpolation, MgridInterpolation::mode, MgridInterpolation::pdim, MgridInterpolation::postcookSequentialHighCommon(), and MgridInterpolation::precookSequentialHighCommon().

Referenced by cookInterpolation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

MgridCell * Mgrid::coordToCellPtr ( double  xx[])

Definition at line 898 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 898 of file Mgrid.cxx

References coordToMultiAddr(), and multiAddrToCellPtr().

Referenced by EicBeamLineElementMap::Initialize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

MgridCell * Mgrid::coordToCellPtr ( TVector3 &  xx)

Definition at line 858 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 858 of file Mgrid.cxx

References coordToMultiAddr(), and multiAddrToCellPtr().

+ Here is the call graph for this function:

int Mgrid::coordToCombiCell ( TVector3 &  xx,
MgridCombiCell qcell 
)

Definition at line 886 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 886 of file Mgrid.cxx

References coordToMultiAddr(), and multiAddrToCombiCell().

+ Here is the call graph for this function:

int Mgrid::coordToMultiAddr ( TVector3 &  xx,
int  id[] 
)

Definition at line 820 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 820 of file Mgrid.cxx

References MgridHeader::coord, MgridDirection::dim, MgridHeader::dir, CoordSystem::fake, MgridDirection::max, MgridDirection::min, and MgridDirection::step.

Referenced by compressedCoordToLinearAddr(), coordToCellPtr(), coordToCombiCell(), and findSelfCell().

+ Here is the caller graph for this function:

int Mgrid::directFieldValue ( TVector3 &  xx,
TVector3 &  B 
)
private

Definition at line 1226 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 1226 of file Mgrid.cxx

References _CUBE_FAILURE_, _FAILURE_, _ILLEGAL_SELF_CELL_, _MULTI_DIM_FITTING_, _MULTI_DIM_INTERPOLATION_, _NO_INTERPOLATION_, _SEQUENTIAL_FAST_INTERPOLATION_, _SEQUENTIAL_HIGH_FITTING_, _SEQUENTIAL_HIGH_INTERPOLATION_, _X_, _Y_, _Z_, _ZERO_INTERPOLATION_POINTER_, MgridInterpolation::actual, MgridInterpolation::adim, MgridInterpolation::allowed_self_cells_mask, MgridInterpolation::appendArbitraryNeighbouringCells(), MgridCell::B, ThreeDeePolySpace::buildOrthogonalPolynomials(), ThreeDeePolySpace::calculateFittingPolynomial(), ThreeDeePolynomial::calculateGradient(), MgridCombiCell::cell, cell_1derr_shift, cell_center_coord, MgridInterpolation::cell_counter, MgridInterpolation::checkNeighbouringCubicArea(), MgridHeader::coord, CoordSystem::coord_num, MgridInterpolation::cube, MgridInterpolation::cube_cell_num, MgridHeader::dir, ThreeDeePolyPoint::f, MgridInterpolation::ferr, fexp, MgridHeader::field, findSelfCell(), MgridInterpolation::fit_error_wanted, MgridInterpolation::force_1dim_weight_usage, MgridInterpolation::force_irregular_case, MgridInterpolation::fun, ThreeDeePolySpace::getNaivePolyFitError(), MgridInterpolation::gfit, MgridInterpolation::grad, MgridInterpolation::gradient_wanted, MgridInterpolation::gspace, MgridInterpolation::gvalue, MgridInterpolation::hfit, MgridInterpolation::hspace, interpolation, ip(), MgridInterpolation::irregular, last_field_status, MgridInterpolation::left, MgridInterpolation::mode, ThreeDeePolySpace::points, MgridInterpolation::prepairIrregularCase(), MgridCombiCell::property, repetition_flag, MgridInterpolation::reversed, self_qcell, MgridInterpolation::sequence, SQR, MgridDirection::step, MgridInterpolation::v, ThreeDeePolynomial::value(), and ThreeDeePolyPoint::weight.

Referenced by getFieldValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int Mgrid::exportCore ( FILE *  fout,
unsigned char  contents 
)
private

Definition at line 955 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 955 of file Mgrid.cxx

References MgridHeader::__type, _CELL_DATA_, _CELL_PROPERTIES_, _MGRID_HEAP_, cell_num, cells, MgridHeader::child_num, children, MgridHeader::object_contents_bits, properties, ram_cell_size, suggestedPropertyArrayTail(), and useful_cell_size.

Referenced by exportFieldMap().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int Mgrid::exportFieldMap ( char *  file_name,
unsigned char  contents 
)

Definition at line 1014 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 1014 of file Mgrid.cxx

References basic_types_match(), and exportCore().

+ Here is the call graph for this function:

int Mgrid::findSelfCell ( TVector3 &  xx)
private

Definition at line 673 of file MgridInterpolation.cxx.

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

References _CELL_OUT_OF_GRID_, _FAILURE_, coordToMultiAddr(), last_field_status, multiAddrToCombiCell(), MgridCombiCell::property, repetition_flag, and self_qcell.

Referenced by directFieldValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int Mgrid::getCartesianFieldValue ( TVector3 &  xx,
TVector3 &  B 
)

Definition at line 1607 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 1607 of file Mgrid.cxx

References _CARTESIAN_, and getFixedTypeFieldValue().

Referenced by EicBeamLineElementMap::GetFieldValue(), TrKalmanNode::GetMagneticField(), and RungeKuttaRequest::kk().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

unsigned Mgrid::getCellNum ( )
inline

Definition at line 87 of file Mgrid.h.

View newest version in sPHENIX GitHub at line 87 of file Mgrid.h

References cell_num.

Referenced by HtcKalmanFilter::InitializeMgridSlice().

+ Here is the caller graph for this function:

int Mgrid::getCylindricalFieldValue ( TVector3 &  xx,
TVector3 &  B 
)

Definition at line 1614 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 1614 of file Mgrid.cxx

References _CYLINDRICAL_, and getFixedTypeFieldValue().

+ Here is the call graph for this function:

int Mgrid::getFieldValue ( t_3d_cs_vector X,
t_3d_cs_vector D 
)
private

Definition at line 1464 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 1464 of file Mgrid.cxx

References MgridHeader::__type, _BAD_MGRID_POINTER_, _FAILURE_, _FIRST_MATCH_, _MFILE_MAGIC_, _MGRID_HEAP_, _SUPERPOSITION_, MgridHeader::child_num, children, convertInputCoordinates(), convertOutputField(), MgridHeader::coord, directFieldValue(), MgridHeader::field, MgridHeader::field_calculation_method, getFieldValue(), last_field_status, MgridHeader::magic_header, position, MgridPosition::rotation_flag, scaling_factor, t_3d_cs_vector::system_type, CoordSystem::system_type, and t_3d_cs_vector::xx.

Referenced by getFieldValue(), and getFixedTypeFieldValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int Mgrid::getFixedTypeFieldValue ( unsigned char  system_type,
TVector3 &  xx,
TVector3 &  B 
)
private

Definition at line 1591 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 1591 of file Mgrid.cxx

References getFieldValue(), and t_3d_cs_vector::xx.

Referenced by getCartesianFieldValue(), and getCylindricalFieldValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int Mgrid::initializeAsHeap ( )

Definition at line 182 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 182 of file Mgrid.cxx

References MgridHeader::child_num, children, recalculatePosition(), and scaling_factor.

Referenced by convert_cell_list_to_mgrid(), and Mgrid().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int Mgrid::initializeAsSingleMgrid ( int  _ram_cell_size)
MgridCell * Mgrid::linearAddrToCellPtr ( int  linear)

Definition at line 753 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 753 of file Mgrid.cxx

References cell_num, cells, and ram_cell_size.

Referenced by convert_cell_list_to_mgrid(), and HtcKalmanFilter::InitializeMgridSlice().

+ Here is the caller graph for this function:

int Mgrid::linearAddrToCoord ( int  linear,
TVector3 &  xx 
)

Definition at line 790 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 790 of file Mgrid.cxx

References cell_num, linearAddrToMulti(), and multiAddrToCoord().

Referenced by cellPtrToCoord(), and HtcKalmanFilter::InitializeMgridSlice().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int Mgrid::linearAddrToMulti ( int  linear,
int  id[3] 
)
private

Definition at line 734 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 734 of file Mgrid.cxx

References _X_, _Z_, cell_num, MgridDirection::dim, and MgridHeader::dir.

Referenced by linearAddrToCoord().

+ Here is the caller graph for this function:

void Mgrid::markCellAsSafe ( unsigned  id)
inline

Definition at line 89 of file Mgrid.h.

View newest version in sPHENIX GitHub at line 89 of file Mgrid.h

References _SAFE_CELL_, and properties.

Referenced by convert_cell_list_to_mgrid(), EicBeamLineElementMap::Initialize(), and HtcKalmanFilter::InitializeMgridSlice().

+ Here is the caller graph for this function:

MgridCell * Mgrid::multiAddrToCellPtr ( int  id[3])
private

Definition at line 762 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 762 of file Mgrid.cxx

References cells, multiAddrToLinear(), and ram_cell_size.

Referenced by coordToCellPtr().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int Mgrid::multiAddrToCombiCell ( int  id[],
MgridCombiCell qcell 
)
private

Definition at line 871 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 871 of file Mgrid.cxx

References MgridCombiCell::cell, cells, multiAddrToLinear(), properties, MgridCombiCell::property, and ram_cell_size.

Referenced by MgridInterpolation::appendArbitraryNeighbouringCells(), coordToCombiCell(), MgridInterpolation::fillOkArray(), and findSelfCell().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int Mgrid::multiAddrToCoord ( int  id[],
TVector3 &  xx 
)

Definition at line 773 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 773 of file Mgrid.cxx

References MgridDirection::dim, MgridHeader::dir, MgridDirection::min, and MgridDirection::step.

Referenced by linearAddrToCoord().

+ Here is the caller graph for this function:

int Mgrid::multiAddrToLinear ( int  id[3])
private

Definition at line 721 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 721 of file Mgrid.cxx

References _X_, _Y_, _Z_, Acts::Test::dim, MgridDirection::dim, and MgridHeader::dir.

Referenced by compressedCoordToLinearAddr(), multiAddrToCellPtr(), and multiAddrToCombiCell().

+ Here is the caller graph for this function:

int Mgrid::recalculatePosition ( )
private

Definition at line 1108 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 1108 of file Mgrid.cxx

References _X_, _Y_, _Z_, buffer, cos(), deg2rad, MgridPosition::direct, MgridHeader::phi, position, printf(), MgridPosition::reversed, MgridPosition::rotation_flag, MgridHeader::shift, MgridPosition::shift_flag, and MgridHeader::theta.

Referenced by changePosition(), initializeAsHeap(), and initializeAsSingleMgrid().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int Mgrid::restoreInterpolations ( )

Definition at line 436 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 436 of file Mgrid.cxx

References CoordSystem::coord_num, MgridHeader::field, interpolation, and saved_interpolation.

int Mgrid::setFittingMode ( unsigned  mode,
int  adim[],
int  pdim[] 
)

Definition at line 386 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 386 of file Mgrid.cxx

References MgridHeader::__type, _MGRID_HEAP_, _MULTI_DIM_FITTING_, _SEQUENTIAL_HIGH_FITTING_, and setModeWrapper().

+ Here is the call graph for this function:

int Mgrid::setHrcInterpolationMode ( )

Definition at line 353 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 353 of file Mgrid.cxx

References MgridHeader::__type, _MGRID_HEAP_, _SEQUENTIAL_FAST_INTERPOLATION_, and setModeWrapper().

Referenced by setHtcInterpolationMode().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int Mgrid::setHtcInterpolationMode ( t_htc_interpolation htci)

mgrid ||

Definition at line 366 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 366 of file Mgrid.cxx

References _MODE_ADIM_, _MODE_HRC_, _MODE_OFF_, _SEQUENTIAL_FAST_INTERPOLATION_, t_htc_interpolation::adim, t_htc_interpolation::mode, setHrcInterpolationMode(), setInterpolationMode(), and turnInterpolationOff().

Referenced by HtcKalmanFilter::InitializeMgridSlice().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int Mgrid::setInterpolationMode ( unsigned  mode,
int  adim[] 
)

Definition at line 339 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 339 of file Mgrid.cxx

References MgridHeader::__type, _MGRID_HEAP_, _MULTI_DIM_INTERPOLATION_, _SEQUENTIAL_FAST_INTERPOLATION_, _SEQUENTIAL_HIGH_INTERPOLATION_, and setModeWrapper().

Referenced by initializeAsSingleMgrid(), and setHtcInterpolationMode().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int Mgrid::setModeWrapper ( unsigned  mode,
int  adim[],
int  pdim[],
char  sequence[] 
)
private

Definition at line 317 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 317 of file Mgrid.cxx

References MgridHeader::__type, _MGRID_HEAP_, cookInterpolation(), CoordSystem::coord_num, MgridHeader::field, interpolation, and saved_interpolation.

Referenced by setFittingMode(), setHrcInterpolationMode(), setInterpolationMode(), and turnInterpolationOff().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int Mgrid::suggestedPropertyArrayTail ( )
private

Definition at line 1034 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 1034 of file Mgrid.cxx

References cell_num.

Referenced by exportCore(), and Mgrid().

+ Here is the caller graph for this function:

int Mgrid::switchInterpolation ( char  field_component_name,
MgridInterpolation inter 
)

Definition at line 407 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 407 of file Mgrid.cxx

References MgridInterpolation::_mgrid, CoordSystem::fake, MgridHeader::field, find_coord_by_name(), t_coord_name::id, interpolation, saved_interpolation, and CoordSystem::system_type.

+ Here is the call graph for this function:

int Mgrid::turnInterpolationOff ( )

Definition at line 398 of file Mgrid.cxx.

View newest version in sPHENIX GitHub at line 398 of file Mgrid.cxx

References MgridHeader::__type, _MGRID_HEAP_, _NO_INTERPOLATION_, and setModeWrapper().

Referenced by EicBeamLineElementMap::Initialize(), and setHtcInterpolationMode().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Friends And Related Function Documentation

friend class MgridInterpolation
friend

Member Data Documentation

int Mgrid::cell_1derr_shift
private

Definition at line 160 of file Mgrid.h.

View newest version in sPHENIX GitHub at line 160 of file Mgrid.h

Referenced by MgridInterpolation::appendArbitraryNeighbouringCells(), directFieldValue(), MgridInterpolation::fillOkArray(), and initializeAsSingleMgrid().

int Mgrid::cell_3derr_shift
private
double* Mgrid::cell_center_coord[3]
private
int Mgrid::cell_double_word_num
private

Definition at line 158 of file Mgrid.h.

View newest version in sPHENIX GitHub at line 158 of file Mgrid.h

Referenced by initializeAsSingleMgrid().

int Mgrid::cell_fchi_shift
private

Definition at line 159 of file Mgrid.h.

View newest version in sPHENIX GitHub at line 159 of file Mgrid.h

Referenced by initializeAsSingleMgrid().

int Mgrid::cell_ferr_shift
private

Definition at line 159 of file Mgrid.h.

View newest version in sPHENIX GitHub at line 159 of file Mgrid.h

Referenced by initializeAsSingleMgrid().

int Mgrid::cell_grad_shift
private

Definition at line 160 of file Mgrid.h.

View newest version in sPHENIX GitHub at line 160 of file Mgrid.h

Referenced by initializeAsSingleMgrid().

int Mgrid::cell_num
private

Definition at line 179 of file Mgrid.h.

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

Referenced by cellPtrToCoord(), exportCore(), getCellNum(), initializeAsSingleMgrid(), linearAddrToCellPtr(), linearAddrToCoord(), linearAddrToMulti(), Mgrid(), and suggestedPropertyArrayTail().

int Mgrid::cell_xx_shift
private

Definition at line 158 of file Mgrid.h.

View newest version in sPHENIX GitHub at line 158 of file Mgrid.h

Referenced by initializeAsSingleMgrid().

unsigned char* Mgrid::cells
private

Definition at line 192 of file Mgrid.h.

View newest version in sPHENIX GitHub at line 192 of file Mgrid.h

Referenced by cellPtrToCoord(), cellPtrToLinear(), exportCore(), initializeAsSingleMgrid(), linearAddrToCellPtr(), Mgrid(), multiAddrToCellPtr(), and multiAddrToCombiCell().

int* Mgrid::cexp
private

Definition at line 176 of file Mgrid.h.

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

Referenced by compressedCoordToLinearAddr(), and initializeAsSingleMgrid().

Mgrid** Mgrid::children

Definition at line 170 of file Mgrid.h.

View newest version in sPHENIX GitHub at line 170 of file Mgrid.h

Referenced by attachToHeap(), convert_cell_list_to_mgrid(), exportCore(), getFieldValue(), initializeAsHeap(), and Mgrid().

int * Mgrid::fexp
private

Definition at line 176 of file Mgrid.h.

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

Referenced by directFieldValue(), and initializeAsSingleMgrid().

MgridInterpolation* Mgrid::interpolation[3]
private

Definition at line 204 of file Mgrid.h.

View newest version in sPHENIX GitHub at line 204 of file Mgrid.h

Referenced by directFieldValue(), restoreInterpolations(), setModeWrapper(), and switchInterpolation().

int Mgrid::last_cell_size
private

Definition at line 186 of file Mgrid.h.

View newest version in sPHENIX GitHub at line 186 of file Mgrid.h

unsigned Mgrid::last_field_status
private
MgridPosition* Mgrid::position
private

Definition at line 201 of file Mgrid.h.

View newest version in sPHENIX GitHub at line 201 of file Mgrid.h

Referenced by convertInputCoordinates(), convertOutputField(), getFieldValue(), Mgrid(), and recalculatePosition().

unsigned char * Mgrid::properties
private

Definition at line 192 of file Mgrid.h.

View newest version in sPHENIX GitHub at line 192 of file Mgrid.h

Referenced by exportCore(), initializeAsSingleMgrid(), markCellAsSafe(), Mgrid(), and multiAddrToCombiCell().

int Mgrid::ram_cell_size
private

Definition at line 186 of file Mgrid.h.

View newest version in sPHENIX GitHub at line 186 of file Mgrid.h

Referenced by cellPtrToCoord(), cellPtrToLinear(), exportCore(), initializeAsSingleMgrid(), linearAddrToCellPtr(), multiAddrToCellPtr(), and multiAddrToCombiCell().

int Mgrid::repetition_flag

Definition at line 225 of file Mgrid.h.

View newest version in sPHENIX GitHub at line 225 of file Mgrid.h

Referenced by MgridInterpolation::checkNeighbouringCubicArea(), directFieldValue(), findSelfCell(), RungeKuttaRequest::kk(), and Mgrid().

MgridInterpolation * Mgrid::saved_interpolation[3]
private

Definition at line 204 of file Mgrid.h.

View newest version in sPHENIX GitHub at line 204 of file Mgrid.h

Referenced by restoreInterpolations(), setModeWrapper(), and switchInterpolation().

double Mgrid::scaling_factor
private

Definition at line 164 of file Mgrid.h.

View newest version in sPHENIX GitHub at line 164 of file Mgrid.h

Referenced by getFieldValue(), initializeAsHeap(), and initializeAsSingleMgrid().

int Mgrid::self[3]
private

Definition at line 207 of file Mgrid.h.

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

Referenced by MgridInterpolation::checkNeighbouringCubicArea().

MgridCombiCell Mgrid::self_qcell
private

Definition at line 208 of file Mgrid.h.

View newest version in sPHENIX GitHub at line 208 of file Mgrid.h

Referenced by MgridInterpolation::appendArbitraryNeighbouringCells(), directFieldValue(), MgridInterpolation::fillOutputCubeArray(), and findSelfCell().

int Mgrid::useful_cell_size
private

Definition at line 158 of file Mgrid.h.

View newest version in sPHENIX GitHub at line 158 of file Mgrid.h

Referenced by exportCore(), initializeAsSingleMgrid(), and Mgrid().


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