![]() |
Project
|
#include <Spline2DSpec.h>
Inherits o2::gpu::FlatObject.
Public Member Functions | |
| GPUd () static const expr int32_t getVersion() | |
| _____________ Version control __________________________ | |
| Spline2DContainerBase ()=default | |
| _____________ C++ constructors / destructors __________________________ | |
| Spline2DContainerBase (const Spline2DContainerBase &)=delete | |
| Disable all other constructors. | |
| ~Spline2DContainerBase ()=default | |
| Destructor. | |
| void | approximateFunction (double x1Min, double x1Max, double x2Min, double x2Max, std::function< void(double x1, double x2, double f[])> F, int32_t nAuxiliaryDataPointsU1=4, int32_t nAuxiliaryDataPointsU2=4) |
| _______________ Construction interface ________________________ | |
| void | approximateFunctionViaDataPoints (double x1Min, double x1Max, double x2Min, double x2Max, std::function< void(double x1, double x2, double f[])> F, int32_t nAuxiliaryDataPointsX1, int32_t nAuxiliaryDataPointsX2) |
| int32_t | writeToFile (TFile &outf, const char *name) |
| _______________ IO ________________________ | |
| GPUd () int32_t getYdimensions() const | |
| _______________ Getters ________________________ | |
| GPUd () static const expr size_t getParameterAlignmentBytes() | |
| Get minimal required alignment for the spline parameters. | |
| GPUd () int32_t getNumberOfParameters() const | |
| Number of parameters. | |
| GPUd () size_t getSizeOfParameters() const | |
| Size of the parameter array in bytes. | |
| GPUd () int32_t getNumberOfKnots() const | |
| Get a number of knots. | |
| GPUd () const Spline1D< DataT | |
| Get 1-D grid for the X1 coordinate. | |
| FlatBase & | getGridX1 () const |
| GPUd () const Spline1D< DataT | |
| Get 1-D grid for the X2 coordinate. | |
| FlatBase & | getGridX2 () const |
| GPUd () const Spline1D< DataT | |
| Get 1-D grid for X1 or X2 coordinate. | |
| FlatBase & | getGrid (int32_t ix) const |
| GPUd () void getKnotU(int32_t iKnot | |
| Get (u1,u2) of i-th knot. | |
| GPUd () int32_t calcNumberOfParameters(int32_t nYdim) const | |
| _______________ Expert tools _______________ | |
| void | cloneFromObject (const Spline2DContainerBase &obj, char *newFlatBufferPtr) |
| _____________ FlatObject functionality, see FlatObject class for description ____________ | |
| void | moveBufferTo (char *newBufferPtr) |
| template<class OtherFlatBase > | |
| void | importFrom (const Spline2DContainerBase< DataT, OtherFlatBase > &src) |
| void | destroy () |
| void | setActualBufferAddress (char *actualFlatBufferPtr) |
| void | setFutureBufferAddress (char *futureFlatBufferPtr) |
Public Member Functions inherited from o2::gpu::FlatObject | |
| FlatObject ()=default | |
| _____________ Constructors / destructors __________________________ | |
| ~FlatObject () | |
| FlatObject (const FlatObject &)=delete | |
| FlatObject & | operator= (const FlatObject &)=delete |
| template<typename T > | |
| T * | resizeArray (T *&ptr, int32_t oldSize, int32_t newSize, T *newPtr=nullptr) |
| template<typename T > | |
| T ** | resizeArray (T **&ptr, int32_t oldSize, int32_t newSize, T **newPtr=nullptr) |
| void | destroy () |
| _______________ Utilities _______________________________________________ | |
| GPUdi () size_t getFlatBufferSize() const | |
| Gives size of the flat buffer. | |
| GPUdi () const char *getFlatBufferPtr() const | |
| Gives pointer to the flat buffer. | |
| bool | isConstructed () const |
| Tells if the object is constructed. | |
| bool | isBufferInternal () const |
| Tells if the buffer is internal. | |
| void | adoptInternalBuffer (char *buf) |
| void | clearInternalBufferPtr () |
| void | printC () const |
| Print the content of the flat buffer. | |
Static Public Member Functions | |
| static Spline2DContainerBase * | readFromFile (TFile &inpf, const char *name) |
| read a class object from the file | |
| static int32_t | test (const bool draw=0, const bool drawDataPoints=1) |
| _______________ Test tools _______________ | |
Static Public Member Functions inherited from o2::gpu::FlatObject | |
| static constexpr size_t | alignSize (size_t sizeBytes, size_t alignmentBytes) |
| _______________ Generic utilities _______________________________________________ | |
| template<class T > | |
| static T * | relocatePointer (const char *oldBase, char *newBase, const T *ptr) |
| Relocates a pointer inside a buffer to the new buffer address. | |
| template<class T , class TFile > | |
| static int32_t | writeToFile (T &obj, TFile &outf, const char *name) |
| write a child class object to the file | |
| template<class T , class TFile > | |
| static T * | readFromFile (TFile &inpf, const char *name) |
| read a child class object from the file | |
| template<class T > | |
| static std::string | stressTest (T &obj) |
| Test the flat object functionality for a child class T. | |
Public Attributes | |
| int32_t & | u1 |
| int32_t int32_t &u2 | const |
Protected Member Functions | |
| void | recreate (int32_t nYdim, int32_t nKnotsX1, int32_t nKnotsX2) |
| Constructor for a regular spline. | |
| void | recreate (int32_t nYdim, int32_t nKnotsX1, const int32_t knotU1[], int32_t nKnotsX2, const int32_t knotU2[]) |
| Constructor for an irregular spline. | |
Protected Member Functions inherited from o2::gpu::FlatObject | |
| void | startConstruction () |
| _____________ Construction _________ | |
| void | finishConstruction (int32_t flatBufferSize) |
| void | cloneFromObject (const FlatObject &obj, char *newFlatBufferPtr) |
| char * | releaseInternalBuffer () |
| _____________ Methods for making the data buffer external __________________________ | |
| void | moveBufferTo (char *newBufferPtr) |
| void | setActualBufferAddress (char *actualFlatBufferPtr) |
| _____________ Methods for moving the class with its external buffer to another location __________________________ | |
| void | setFutureBufferAddress (char *futureFlatBufferPtr) |
| ClassDefNV (FlatObject, 1) | |
| Pointer to the flat buffer. | |
Protected Attributes | |
| int32_t | mYdim = 0 |
| _____________ Data members ____________ | |
| Spline1D< DataT, 0, FlatBase > | mGridX1 |
| grid for U axis | |
| Spline1D< DataT, 0, FlatBase > | mGridX2 |
| grid for V axis | |
| DataT * | mParameters = nullptr |
Protected Attributes inherited from o2::gpu::FlatObject | |
| int32_t | mFlatBufferSize = 0 |
| size of the flat buffer | |
| uint32_t | mConstructionMask = ConstructionState::NotConstructed |
| mask for constructed object members, first two bytes are used by this class | |
| char * | mFlatBufferContainer = nullptr |
| char * | mFlatBufferPtr = nullptr |
Additional Inherited Members | |
Protected Types inherited from o2::gpu::FlatObject | |
| enum | ConstructionState : uint32_t { NotConstructed = 0x0 , Constructed = 0x1 , InProgress = 0x2 } |
| GPUCA_GPUCODE. More... | |
Static Protected Member Functions inherited from o2::gpu::FlatObject | |
| static constexpr size_t | getClassAlignmentBytes () |
| GPUCA_GPUCODE. | |
| static constexpr size_t | getBufferAlignmentBytes () |
| Gives minimal alignment in bytes required for the flat buffer. | |
================================================================================================== The class Spline2DContainerBase is a base Spline2D class. It contains all the class members and those methods which only depends on the DataT data type. It also contains all non-inlined methods with the implementation in SplineSpec.cxx file.
DataT is a data type, which is supposed to be either double or float. For other possible data types one has to add the corresponding instantiation line at the end of the Spline2DSpec.cxx file
Definition at line 48 of file Spline2DSpec.h.
|
default |
_____________ C++ constructors / destructors __________________________
Default constructor
|
delete |
Disable all other constructors.
|
default |
Destructor.
| void o2::gpu::Spline2DContainerBase< DataT, FlatBase >::approximateFunction | ( | double | x1Min, |
| double | x1Max, | ||
| double | x2Min, | ||
| double | x2Max, | ||
| std::function< void(double x1, double x2, double f[])> | F, | ||
| int32_t | nAuxiliaryDataPointsU1 = 4, |
||
| int32_t | nAuxiliaryDataPointsU2 = 4 |
||
| ) |
_______________ Construction interface ________________________
approximate a function F with this spline
| void o2::gpu::Spline2DContainerBase< DataT, FlatBase >::approximateFunctionViaDataPoints | ( | double | x1Min, |
| double | x1Max, | ||
| double | x2Min, | ||
| double | x2Max, | ||
| std::function< void(double x1, double x2, double f[])> | F, | ||
| int32_t | nAuxiliaryDataPointsX1, | ||
| int32_t | nAuxiliaryDataPointsX2 | ||
| ) |
| void o2::gpu::Spline2DContainerBase< DataT, FlatBase >::cloneFromObject | ( | const Spline2DContainerBase< DataT, FlatBase > & | obj, |
| char * | newFlatBufferPtr | ||
| ) |
_____________ FlatObject functionality, see FlatObject class for description ____________
| void o2::gpu::Spline2DContainerBase< DataT, FlatBase >::destroy | ( | ) |
|
inline |
Definition at line 114 of file Spline2DSpec.h.
|
inline |
Definition at line 108 of file Spline2DSpec.h.
|
inline |
Definition at line 111 of file Spline2DSpec.h.
| o2::gpu::Spline2DContainerBase< DataT, FlatBase >::GPUd | ( | ) | const |
Get 1-D grid for the X1 coordinate.
| o2::gpu::Spline2DContainerBase< DataT, FlatBase >::GPUd | ( | ) | const |
Get 1-D grid for the X2 coordinate.
| o2::gpu::Spline2DContainerBase< DataT, FlatBase >::GPUd | ( | ) | const |
Get 1-D grid for X1 or X2 coordinate.
|
inline |
_______________ Expert tools _______________
Number of parameters for given Y dimensions
Definition at line 170 of file Spline2DSpec.h.
|
inline |
Get a number of knots.
Definition at line 105 of file Spline2DSpec.h.
|
inline |
Number of parameters.
Definition at line 99 of file Spline2DSpec.h.
|
inline |
_______________ Getters ________________________
Get number of Y dimensions
Definition at line 93 of file Spline2DSpec.h.
|
inline |
Size of the parameter array in bytes.
Definition at line 102 of file Spline2DSpec.h.
|
inline |
_____________ Version control __________________________
Version control
Definition at line 54 of file Spline2DSpec.h.
|
inline |
Get minimal required alignment for the spline parameters.
Definition at line 96 of file Spline2DSpec.h.
| o2::gpu::Spline2DContainerBase< DataT, FlatBase >::GPUd | ( | ) |
Get (u1,u2) of i-th knot.
| template void o2::gpu::Spline2DContainerBase< DataT, FlatBase >::importFrom< o2::gpu::FlatObject > | ( | const Spline2DContainerBase< DataT, OtherFlatBase > & | src | ) |
Copy schema fields (ydim, grid dimensions) from a spline with a different FlatBase. Used by TPCFastTransformPOD::create() to populate NoFlatObject-based splines.
| void o2::gpu::Spline2DContainerBase< DataT, FlatBase >::moveBufferTo | ( | char * | newBufferPtr | ) |
|
static |
read a class object from the file
|
protected |
Constructor for an irregular spline.
|
protected |
Constructor for a regular spline.
| void o2::gpu::Spline2DContainerBase< DataT, FlatBase >::setActualBufferAddress | ( | char * | actualFlatBufferPtr | ) |
| void o2::gpu::Spline2DContainerBase< DataT, FlatBase >::setFutureBufferAddress | ( | char * | futureFlatBufferPtr | ) |
|
static |
_______________ Test tools _______________
Test the class functionality
| int32_t o2::gpu::Spline2DContainerBase< DataT, FlatBase >::writeToFile | ( | TFile & | outf, |
| const char * | name | ||
| ) |
_______________ IO ________________________
write a class object to the file
| int32_t int32_t& u2 o2::gpu::Spline2DContainerBase< DataT, FlatBase >::const |
Definition at line 117 of file Spline2DSpec.h.
|
protected |
grid for U axis
Definition at line 206 of file Spline2DSpec.h.
|
protected |
grid for V axis
Definition at line 207 of file Spline2DSpec.h.
|
protected |
Definition at line 208 of file Spline2DSpec.h.
|
protected |
_____________ Data members ____________
dimentionality of F
Definition at line 205 of file Spline2DSpec.h.
| int32_t& o2::gpu::Spline2DContainerBase< DataT, FlatBase >::u1 |
Definition at line 117 of file Spline2DSpec.h.