![]() |
Project
|
#include <TPCFastSpaceChargeCorrection.h>
Inherits o2::gpu::FlatObject.
Classes | |
| struct | GridInfo |
| struct | RowInfo |
| struct | SliceInfo |
Public Types | |
| typedef Spline2D< float, 3 > | SplineTypeXYZ |
| typedef Spline2D< float, 1 > | SplineTypeInvX |
| typedef Spline2D< float, 2 > | SplineTypeInvYZ |
| typedef SplineTypeXYZ | SplineType |
| using | SlimSplineTypeXYZ = Spline2D< float, 3, NoFlatObject > |
| Slim variants (NoFlatObject base) for use in TPCFastTransformPOD. | |
| using | SlimSplineTypeInvX = Spline2D< float, 1, NoFlatObject > |
| using | SlimSplineTypeInvYZ = Spline2D< float, 2, NoFlatObject > |
| using | SlimSplineType = SlimSplineTypeXYZ |
Public Member Functions | |
| TPCFastSpaceChargeCorrection () | |
| _____________ Constructors / destructors __________________________ | |
| TPCFastSpaceChargeCorrection (const TPCFastSpaceChargeCorrection &)=delete | |
| Copy constructor: disabled to avoid ambiguity. Use cloneTo[In/Ex]ternalBuffer() instead. | |
| TPCFastSpaceChargeCorrection & | operator= (const TPCFastSpaceChargeCorrection &)=delete |
| Assignment operator: disabled to avoid ambiguity. Use cloneTo[In/Ex]ternalBuffer() instead. | |
| ~TPCFastSpaceChargeCorrection () | |
| Destructor. | |
| void | cloneFromObject (const TPCFastSpaceChargeCorrection &obj, char *newFlatBufferPtr) |
| Construction interface. | |
| void | destroy () |
| void | moveBufferTo (char *newBufferPtr) |
| void | setActualBufferAddress (char *actualFlatBufferPtr) |
| Moving the class with its external buffer to another location. | |
| void | setFutureBufferAddress (char *futureFlatBufferPtr) |
| void | startConstruction (const TPCFastTransformGeo &geo, int32_t numberOfSplineScenarios) |
| _______________ Construction interface ________________________ | |
| void | setRowScenarioID (int32_t iRow, int32_t iScenario) |
| Initializes a TPC row. | |
| void | setSplineScenario (int32_t scenarioIndex, const SplineType &spline) |
| Sets approximation scenario. | |
| void | finishConstruction () |
| Finishes construction: puts everything to the flat buffer, releases temporary memory. | |
| void | constructWithNoCorrection (const TPCFastTransformGeo &geo) |
| GPUd () void setNoCorrection() | |
| _______________ Initialization interface ________________________ | |
| GPUdi () void setTimeStamp(int64_t v) | |
| Sets the time stamp of the current calibaration. | |
| GPUd () const SplineType &getSplineForRow(int32_t row) const | |
| Gives const pointer to a spline. | |
| GPUd () SplineType &getSplineForRow(int32_t row) | |
| Gives pointer to a spline. | |
| GPUd () float *getCorrectionData(int32_t sector | |
| Gives pointer to spline data. | |
| GPUd () const float *getCorrectionData(int32_t sector | |
| Gives pointer to spline data. | |
| GPUd () const SplineTypeInvX &getSplineInvXforRow(int32_t row) const | |
| Gives const pointer to a spline for the inverse X correction. | |
| GPUd () SplineTypeInvX &getSplineInvXforRow(int32_t row) | |
| Gives pointer to a spline for the inverse X correction. | |
| GPUd () float *getCorrectionDataInvX(int32_t sector | |
| Gives pointer to spline data for the inverse X correction. | |
| GPUd () const float *getCorrectionDataInvX(int32_t sector | |
| Gives pointer to spline data for the inverse X correction. | |
| GPUd () const SplineTypeInvYZ &getSplineInvYZforRow(int32_t row) const | |
| Gives const pointer to a spline for the inverse YZ correction. | |
| GPUd () SplineTypeInvYZ &getSplineInvYZforRow(int32_t row) | |
| Gives pointer to a spline for the inverse YZ correction. | |
| GPUd () float *getCorrectionDataInvYZ(int32_t sector | |
| Gives pointer to spline data for the inverse YZ correction. | |
| GPUd () const float *getCorrectionDataInvYZ(int32_t sector | |
| Gives pointer to spline data for the inverse YZ correction. | |
| GPUdi () void getCorrectionLocal(int32_t sector | |
| GPUd () float getCorrectionXatRealYZ(int32_t sector | |
| inverse correction: Real Y and Z -> Real X | |
| GPUd () void getCorrectionYZatRealYZ(int32_t sector | |
| inverse correction: Real Y and Z -> measred Y and Z | |
| GPUd () void convLocalToGrid(int32_t sector | |
| _______________ Utilities _______________________________________________ | |
| GPUd () void convGridToLocal(int32_t sector | |
| GPUd () void convRealLocalToGrid(int32_t sector | |
| GPUd () void convGridToRealLocal(int32_t sector | |
| GPUd () bool isLocalInsideGrid(int32_t sector | |
| GPUd () bool isRealLocalInsideGrid(int32_t sector | |
| GPUdi () const TPCFastTransformGeo &getGeometry() const | |
| TPC geometry information. | |
| int64_t | getTimeStamp () const |
| Gives the time stamp of the current calibaration parameters. | |
| GPUdi () const RowInfo &getRowInfo(int32_t row) const | |
| Gives TPC row info. | |
| GPUdi () RowInfo &getRowInfo(int32_t row) | |
| Gives TPC row info. | |
| void | print () const |
| Print method. | |
| GPUh () double testInverse(bool prn=0) | |
| char * | releaseInternalBuffer () |
| Making the data buffer external. | |
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 constexpr size_t | getBufferAlignmentBytes () |
| _____________ FlatObject functionality, see FlatObject class for description ____________ | |
| static constexpr size_t | getClassAlignmentBytes () |
| GPUCA_GPUCODE. | |
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 | row |
| int32_t int32_t | iSpline = 0) |
| int32_t row | const |
| int32_t float | y |
| int32_t float float | z |
| int32_t float float float & | dx |
| int32_t float float float float & | dy |
| int32_t float float float float float &dz | const |
| int32_t float | realY |
| int32_t float float realZ | const |
| int32_t float float | realZ |
| int32_t float float float & | y |
| int32_t float float float float &z | const |
| int32_t float float float & | u |
| int32_t float float float float & | v |
| int32_t float float float float float &s | const |
| int32_t float | u |
| int32_t float float | v |
| int32_t float float z | const |
Friends | |
| class | TPCFastTransformPOD |
Additional Inherited Members | |
Protected Types inherited from o2::gpu::FlatObject | |
| enum | ConstructionState : uint32_t { NotConstructed = 0x0 , Constructed = 0x1 , InProgress = 0x2 } |
| GPUCA_GPUCODE. More... | |
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. | |
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. | |
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 |
The TPCFastSpaceChargeCorrection class represents correction of nominal coordinates of TPC clusters using best-fit splines
Row, U, V -> dX,dU,dV
The class is flat C structure. No virtual methods, no ROOT types are used.
Definition at line 40 of file TPCFastSpaceChargeCorrection.h.
Definition at line 124 of file TPCFastSpaceChargeCorrection.h.
| using o2::gpu::TPCFastSpaceChargeCorrection::SlimSplineTypeInvX = Spline2D<float, 1, NoFlatObject> |
Definition at line 122 of file TPCFastSpaceChargeCorrection.h.
| using o2::gpu::TPCFastSpaceChargeCorrection::SlimSplineTypeInvYZ = Spline2D<float, 2, NoFlatObject> |
Definition at line 123 of file TPCFastSpaceChargeCorrection.h.
| using o2::gpu::TPCFastSpaceChargeCorrection::SlimSplineTypeXYZ = Spline2D<float, 3, NoFlatObject> |
Slim variants (NoFlatObject base) for use in TPCFastTransformPOD.
Definition at line 121 of file TPCFastSpaceChargeCorrection.h.
Definition at line 118 of file TPCFastSpaceChargeCorrection.h.
| typedef Spline2D<float, 1> o2::gpu::TPCFastSpaceChargeCorrection::SplineTypeInvX |
Definition at line 115 of file TPCFastSpaceChargeCorrection.h.
| typedef Spline2D<float, 2> o2::gpu::TPCFastSpaceChargeCorrection::SplineTypeInvYZ |
Definition at line 116 of file TPCFastSpaceChargeCorrection.h.
| typedef Spline2D<float, 3> o2::gpu::TPCFastSpaceChargeCorrection::SplineTypeXYZ |
Definition at line 114 of file TPCFastSpaceChargeCorrection.h.
| TPCFastSpaceChargeCorrection::TPCFastSpaceChargeCorrection | ( | ) |
_____________ Constructors / destructors __________________________
Default constructor: creates an empty uninitialized object
Definition at line 30 of file TPCFastSpaceChargeCorrection.cxx.
|
delete |
Copy constructor: disabled to avoid ambiguity. Use cloneTo[In/Ex]ternalBuffer() instead.
| TPCFastSpaceChargeCorrection::~TPCFastSpaceChargeCorrection | ( | ) |
| void TPCFastSpaceChargeCorrection::cloneFromObject | ( | const TPCFastSpaceChargeCorrection & | obj, |
| char * | newFlatBufferPtr | ||
| ) |
Construction interface.
Initializes from another object, copies data to newBufferPtr When newBufferPtr==nullptr, an internal container will be created, the data will be copied there. If there are any pointers inside the buffer, they has to be relocated (currently no pointers).
Definition at line 83 of file TPCFastSpaceChargeCorrection.cxx.
| void TPCFastSpaceChargeCorrection::constructWithNoCorrection | ( | const TPCFastTransformGeo & | geo | ) |
Definition at line 590 of file TPCFastSpaceChargeCorrection.cxx.
| void TPCFastSpaceChargeCorrection::destroy | ( | ) |
Definition at line 55 of file TPCFastSpaceChargeCorrection.cxx.
| void TPCFastSpaceChargeCorrection::finishConstruction | ( | ) |
Finishes construction: puts everything to the flat buffer, releases temporary memory.
Finishes construction: puts everything to the flat buffer, releases temporary memory
Definition at line 479 of file TPCFastSpaceChargeCorrection.cxx.
|
inlinestaticconstexpr |
_____________ FlatObject functionality, see FlatObject class for description ____________
Memory alignment
Definition at line 195 of file FlatObject.h.
|
inlinestaticconstexpr |
GPUCA_GPUCODE.
_____________ Memory alignment __________________________ Gives minimal alignment in bytes required for the class object
Definition at line 192 of file FlatObject.h.
|
inline |
Gives the time stamp of the current calibaration parameters.
Definition at line 262 of file TPCFastSpaceChargeCorrection.h.
| o2::gpu::TPCFastSpaceChargeCorrection::GPUd | ( | ) |
| o2::gpu::TPCFastSpaceChargeCorrection::GPUd | ( | ) |
| o2::gpu::TPCFastSpaceChargeCorrection::GPUd | ( | ) | const |
Gives pointer to spline data.
| o2::gpu::TPCFastSpaceChargeCorrection::GPUd | ( | ) | const |
Gives pointer to spline data for the inverse X correction.
| o2::gpu::TPCFastSpaceChargeCorrection::GPUd | ( | ) | const |
Gives pointer to spline data for the inverse YZ correction.
| o2::gpu::TPCFastSpaceChargeCorrection::GPUd | ( | ) | const & |
Gives const pointer to a spline.
| o2::gpu::TPCFastSpaceChargeCorrection::GPUd | ( | ) | const & |
Gives const pointer to a spline for the inverse X correction.
| o2::gpu::TPCFastSpaceChargeCorrection::GPUd | ( | ) | const & |
Gives const pointer to a spline for the inverse YZ correction.
| o2::gpu::TPCFastSpaceChargeCorrection::GPUd | ( | ) |
Gives pointer to spline data.
| o2::gpu::TPCFastSpaceChargeCorrection::GPUd | ( | ) |
Gives pointer to spline data for the inverse X correction.
| o2::gpu::TPCFastSpaceChargeCorrection::GPUd | ( | ) |
Gives pointer to spline data for the inverse YZ correction.
| o2::gpu::TPCFastSpaceChargeCorrection::GPUd | ( | ) |
inverse correction: Real Y and Z -> Real X
| o2::gpu::TPCFastSpaceChargeCorrection::GPUd | ( | ) | & |
Gives pointer to a spline.
| o2::gpu::TPCFastSpaceChargeCorrection::GPUd | ( | ) | & |
Gives pointer to a spline for the inverse X correction.
| o2::gpu::TPCFastSpaceChargeCorrection::GPUd | ( | ) | & |
Gives pointer to a spline for the inverse YZ correction.
| o2::gpu::TPCFastSpaceChargeCorrection::GPUd | ( | ) |
convert internal grid coordinates u,v to local y, z return values: y, z, scaling factor
| o2::gpu::TPCFastSpaceChargeCorrection::GPUd | ( | ) |
convert internal grid coordinates to the real Y, Z return values: y, z
| o2::gpu::TPCFastSpaceChargeCorrection::GPUd | ( | ) |
_______________ Utilities _______________________________________________
convert local y, z to internal grid coordinates u,v return values: u, v, scaling factor
| o2::gpu::TPCFastSpaceChargeCorrection::GPUd | ( | ) |
convert real Y, Z to the internal grid coordinates return values: u, v, scaling factor
| o2::gpu::TPCFastSpaceChargeCorrection::GPUd | ( | ) |
inverse correction: Real Y and Z -> measred Y and Z
| o2::gpu::TPCFastSpaceChargeCorrection::GPUd | ( | ) |
_______________ Initialization interface ________________________
Set no correction
|
inline |
Gives TPC row info.
Definition at line 265 of file TPCFastSpaceChargeCorrection.h.
|
inline |
TPC geometry information.
Definition at line 256 of file TPCFastSpaceChargeCorrection.h.
|
inline |
Gives TPC row info.
Definition at line 271 of file TPCFastSpaceChargeCorrection.h.
| o2::gpu::TPCFastSpaceChargeCorrection::GPUdi | ( | ) |
_______________ The main method: cluster correction _______________________
|
inline |
Sets the time stamp of the current calibaration.
Definition at line 184 of file TPCFastSpaceChargeCorrection.h.
|
pure virtual |
Sets buffer pointer to the new address, move the buffer content there.
Definition at line 120 of file TPCFastSpaceChargeCorrection.cxx.
|
delete |
Assignment operator: disabled to avoid ambiguity. Use cloneTo[In/Ex]ternalBuffer() instead.
| void TPCFastSpaceChargeCorrection::print | ( | ) | const |
Print method.
Definition at line 381 of file TPCFastSpaceChargeCorrection.cxx.
|
inline |
Making the data buffer external.
Definition at line 218 of file FlatObject.h.
Moving the class with its external buffer to another location.
Sets the actual location of the external flat buffer after it has been moved (e.g. to another maschine)
< scenario index (which of Spline2D splines to use)
< offset for the spline data withing a TPC sector
< V coordinate of the V-grid start
< U coordinate of the U-grid start for corrected U
< V coordinate of the V-grid start for corrected V
< scale corrected U to U-grid coordinate
< scale corrected V to V-grid coordinate
Definition at line 129 of file TPCFastSpaceChargeCorrection.cxx.
Sets a future location of the external flat buffer before moving it to this location (i.e. when copying to GPU). The object can be used immidiatelly after the move, call of setActualFlatBufferAddress() is not needed. !!! Information about the actual buffer location will be lost. !!! Most of the class methods may be called only after the buffer will be moved to its new location. !!! To undo call setActualFlatBufferAddress()
Definition at line 356 of file TPCFastSpaceChargeCorrection.cxx.
| void TPCFastSpaceChargeCorrection::setRowScenarioID | ( | int32_t | iRow, |
| int32_t | iScenario | ||
| ) |
Initializes a TPC row.
Initializes a TPC row
Definition at line 457 of file TPCFastSpaceChargeCorrection.cxx.
| void TPCFastSpaceChargeCorrection::setSplineScenario | ( | int32_t | scenarioIndex, |
| const SplineType & | spline | ||
| ) |
Sets approximation scenario.
Sets approximation scenario
Definition at line 469 of file TPCFastSpaceChargeCorrection.cxx.
| void TPCFastSpaceChargeCorrection::startConstruction | ( | const TPCFastTransformGeo & | geo, |
| int32_t | numberOfSplineScenarios | ||
| ) |
_______________ Construction interface ________________________
Starts the construction procedure, reserves temporary memory
Starts the construction procedure, reserves temporary memory
Definition at line 416 of file TPCFastSpaceChargeCorrection.cxx.
|
friend |
Definition at line 42 of file TPCFastSpaceChargeCorrection.h.
| int32_t float float z o2::gpu::TPCFastSpaceChargeCorrection::const |
Definition at line 208 of file TPCFastSpaceChargeCorrection.h.
| int32_t float float float float float& dz o2::gpu::TPCFastSpaceChargeCorrection::const |
Definition at line 226 of file TPCFastSpaceChargeCorrection.h.
| int32_t float float realZ o2::gpu::TPCFastSpaceChargeCorrection::const |
Definition at line 229 of file TPCFastSpaceChargeCorrection.h.
| int32_t float float float float& z o2::gpu::TPCFastSpaceChargeCorrection::const |
Definition at line 232 of file TPCFastSpaceChargeCorrection.h.
| int32_t float float float float float& s o2::gpu::TPCFastSpaceChargeCorrection::const |
Definition at line 238 of file TPCFastSpaceChargeCorrection.h.
| int32_t float float z o2::gpu::TPCFastSpaceChargeCorrection::const |
Definition at line 252 of file TPCFastSpaceChargeCorrection.h.
| int32_t float float float& o2::gpu::TPCFastSpaceChargeCorrection::dx |
Definition at line 226 of file TPCFastSpaceChargeCorrection.h.
| int32_t float float float float& o2::gpu::TPCFastSpaceChargeCorrection::dy |
Definition at line 226 of file TPCFastSpaceChargeCorrection.h.
| int32_t int32_t o2::gpu::TPCFastSpaceChargeCorrection::iSpline = 0) |
Definition at line 193 of file TPCFastSpaceChargeCorrection.h.
| int32_t float o2::gpu::TPCFastSpaceChargeCorrection::realY |
Definition at line 229 of file TPCFastSpaceChargeCorrection.h.
| int32_t float float o2::gpu::TPCFastSpaceChargeCorrection::realZ |
Definition at line 232 of file TPCFastSpaceChargeCorrection.h.
| int32_t o2::gpu::TPCFastSpaceChargeCorrection::row |
Definition at line 193 of file TPCFastSpaceChargeCorrection.h.
| int32_t float o2::gpu::TPCFastSpaceChargeCorrection::u |
Definition at line 238 of file TPCFastSpaceChargeCorrection.h.
| int32_t float o2::gpu::TPCFastSpaceChargeCorrection::u |
Definition at line 242 of file TPCFastSpaceChargeCorrection.h.
| int32_t float float o2::gpu::TPCFastSpaceChargeCorrection::v |
Definition at line 238 of file TPCFastSpaceChargeCorrection.h.
| int32_t float float o2::gpu::TPCFastSpaceChargeCorrection::v |
Definition at line 242 of file TPCFastSpaceChargeCorrection.h.
| int32_t float o2::gpu::TPCFastSpaceChargeCorrection::y |
Definition at line 226 of file TPCFastSpaceChargeCorrection.h.
| int32_t float float float& o2::gpu::TPCFastSpaceChargeCorrection::y |
Definition at line 232 of file TPCFastSpaceChargeCorrection.h.
| int32_t float float o2::gpu::TPCFastSpaceChargeCorrection::z |
Definition at line 226 of file TPCFastSpaceChargeCorrection.h.