![]() |
Project
|
#include <TPCFastTransform.h>
Inherits o2::gpu::FlatObject.
Public Member Functions | |
TPCFastTransform () | |
_____________ Constructors / destructors __________________________ | |
TPCFastTransform (const TPCFastTransform &)=delete | |
Copy constructor: disabled to avoid ambiguity. Use cloneFromObject() instead. | |
TPCFastTransform & | operator= (const TPCFastTransform &)=delete |
Assignment operator: disabled to avoid ambiguity. Use cloneFromObject() instead. | |
void | destroy () |
~TPCFastTransform ()=default | |
Destructor. | |
void | cloneFromObject (const TPCFastTransform &obj, char *newFlatBufferPtr) |
Construction interface. | |
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 TPCFastSpaceChargeCorrection &correction) |
_______________ Construction interface ________________________ | |
void | setCalibration (int64_t timeStamp, float t0, float vDrift, float vDriftCorrY, float lDriftCorr, float tofCorr, float primVtxZ) |
void | setLumi (float l) |
Set Lumi info. | |
void | setLumiError (float e) |
void | setLumiScaleFactor (float s) |
void | setTimeStamp (int64_t v) |
Sets the time stamp of the current calibaration. | |
GPUd () const TPCFastSpaceChargeCorrection &getCorrection() const | |
Gives a reference for external initialization of TPC corrections. | |
TPCFastSpaceChargeCorrection & | getCorrection () |
Gives a reference for external initialization of TPC corrections. | |
void | finishConstruction () |
Finishes initialization: puts everything to the flat buffer, releases temporary memory. | |
GPUd () void Transform(int32_t slice | |
GPUd () void TransformXYZ(int32_t slice | |
GPUd () void TransformInTimeFrame(int32_t slice | |
Transformation in the time frame. | |
GPUd () void TransformInTimeFrame(int32_t slice | |
GPUd () void InverseTransformInTimeFrame(int32_t slice | |
Inverse transformation. | |
GPUd () void InverseTransformYZtoX(int32_t slice | |
Inverse transformation: Transformed Y and Z -> transformed X. | |
GPUd () void InverseTransformYZtoNominalYZ(int32_t slice | |
Inverse transformation: Transformed Y and Z -> Y and Z, transformed w/o space charge correction. | |
GPUd () void InverseTransformXYZtoNominalXYZ(int32_t slice | |
Inverse transformation: Transformed X, Y and Z -> X, Y and Z, transformed w/o space charge correction. | |
GPUd () void TransformIdeal(int32_t slice | |
Ideal transformation with Vdrift only - without calibration. | |
GPUd () void TransformIdealZ(int32_t slice | |
GPUd () void convPadTimeToUV(int32_t slice | |
GPUd () void convPadTimeToUVinTimeFrame(int32_t slice | |
GPUd () void convTimeToVinTimeFrame(int32_t slice | |
GPUd () void convUVtoPadTime(int32_t slice | |
GPUd () void convUVtoPadTimeInTimeFrame(int32_t slice | |
GPUd () void convVtoTime(float v | |
GPUd () float convTimeToZinTimeFrame(int32_t slice | |
GPUd () float convZtoTimeInTimeFrame(int32_t slice | |
GPUd () float convDeltaTimeToDeltaZinTimeFrame(int32_t slice | |
GPUd () float convDeltaZtoDeltaTimeInTimeFrame(int32_t slice | |
GPUd () float convDeltaZtoDeltaTimeInTimeFrameAbs(float deltaZ) const | |
GPUd () float convZOffsetToVertexTime(int32_t slice | |
GPUd () float convVertexTimeToZOffset(int32_t slice | |
GPUd () void getTOFcorrection(int32_t slice | |
void | setApplyCorrectionOn () |
void | setApplyCorrectionOff () |
bool | isCorrectionApplied () |
GPUd () const TPCFastTransformGeo &getGeometry() const | |
_______________ Utilities _______________________________________________ | |
GPUd () int64_t getTimeStamp() const | |
Gives the time stamp of the current calibaration parameters. | |
GPUd () float getVDrift() const | |
Return mVDrift in cm / time bin. | |
GPUd () float getT0() const | |
Return T0 in time bin units. | |
GPUd () float getVdriftCorrY() const | |
Return VdriftCorrY in time_bin / cn. | |
GPUd () float getLdriftCorr() const | |
Return LdriftCorr offset in cm. | |
GPUd () float getTOFCorr() const | |
Return TOF correction (vdrift / C) | |
GPUd () float getLumi() const | |
Return map lumi. | |
GPUd () float getLumiError() const | |
Return map lumi error. | |
GPUd () float getLumiScaleFactor() const | |
Return map user defined lumi scale factor. | |
GPUd () float getMaxDriftTime(int32_t slice | |
maximal possible drift time of the active area | |
GPUd () float getMaxDriftTime(int32_t slice | |
maximal possible drift time of the active area | |
GPUd () float getMaxDriftTime(int32_t slice) const | |
maximal possible drift time of the active area | |
int32_t | writeToFile (std::string outFName="", std::string name="") |
void | rectifyAfterReadingFromFile () |
void | setSlowTPCSCCorrection (TFile &inpf) |
setting the reference corrections | |
const auto & | getCorrectionSlow () const |
void | print () const |
Print method. | |
char * | releaseInternalBuffer () |
Making the data buffer external. | |
![]() | |
FlatObject ()=default | |
_____________ Constructors / destructors __________________________ | |
~FlatObject () | |
FlatObject (const FlatObject &)=delete | |
FlatObject & | operator= (const FlatObject &)=delete |
void | destroy () |
_______________ Utilities _______________________________________________ | |
size_t | getFlatBufferSize () const |
Gives size of the flat buffer. | |
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 | getClassAlignmentBytes () |
_____________ FlatObject functionality, see FlatObject class for description ____________ | |
static constexpr size_t | getBufferAlignmentBytes () |
Gives minimal alignment in bytes required for the flat buffer. | |
static TPCFastTransform * | loadFromFile (std::string inpFName="", std::string name="") |
![]() | |
static 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. | |
Additional Inherited Members | |
![]() | |
enum | ConstructionState : uint32_t { NotConstructed = 0x0 , Constructed = 0x1 , InProgress = 0x2 } |
GPUCA_GPUCODE. More... | |
![]() | |
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 constexpr size_t | getClassAlignmentBytes () |
_____________ Memory alignment __________________________ | |
static constexpr size_t | getBufferAlignmentBytes () |
Gives minimal alignment in bytes required for the flat buffer. | |
![]() | |
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 TPCFastTransform class represents transformation of raw TPC coordinates to XYZ
(TPC Row number, Pad, Drift Time) -> (X,Y,Z)
The following coordinate systems are used:
drift volume coordinate system (x,u,v)[cm]. These are cartesian coordinates: x = local x, u = along the local y axis but towards to the pad increase direction, v = along the global z axis but towards the drift length increase derection.
u and v are mirrored for A/C sides of the TPC
The transformation is pefformed as the following:
First, the class transforms input raw coordinates to the drift volume coordinates applying the drift velocity calibration. Then it aplies TPCCorrectionIRS to the drift coordinates. At the end it transforms the drift coordinates to the output local coordinates.
The class is flat C structure. No virtual methods, no ROOT types are used.
Definition at line 96 of file TPCFastTransform.h.
TPCFastTransform::TPCFastTransform | ( | ) |
_____________ Constructors / destructors __________________________
Default constructor: creates an empty uninitialized object
Definition at line 39 of file TPCFastTransform.cxx.
|
delete |
Copy constructor: disabled to avoid ambiguity. Use cloneFromObject() instead.
|
default |
Destructor.
void TPCFastTransform::cloneFromObject | ( | const TPCFastTransform & | obj, |
char * | newFlatBufferPtr | ||
) |
Construction interface.
See FlatObject for description
Definition at line 45 of file TPCFastTransform.cxx.
|
inline |
Definition at line 110 of file TPCFastTransform.h.
void TPCFastTransform::finishConstruction | ( | ) |
Finishes initialization: puts everything to the flat buffer, releases temporary memory.
Finishes initialization: puts everything to the flat buffer, releases temporary memory
Definition at line 137 of file TPCFastTransform.cxx.
|
inlinestaticconstexpr |
Gives minimal alignment in bytes required for the flat buffer.
Definition at line 134 of file TPCFastTransform.h.
|
inlinestaticconstexpr |
_____________ FlatObject functionality, see FlatObject class for description ____________
Memory alignment Gives minimal alignment in bytes required for the class object
Definition at line 131 of file TPCFastTransform.h.
|
inline |
Gives a reference for external initialization of TPC corrections.
Definition at line 173 of file TPCFastTransform.h.
|
inline |
Definition at line 281 of file TPCFastTransform.h.
|
inline |
Gives a reference for external initialization of TPC corrections.
Definition at line 170 of file TPCFastTransform.h.
|
inline |
_______________ Utilities _______________________________________________
TPC geometry information
Definition at line 231 of file TPCFastTransform.h.
o2::gpu::TPCFastTransform::GPUd | ( | ) |
o2::gpu::TPCFastTransform::GPUd | ( | ) |
o2::gpu::TPCFastTransform::GPUd | ( | ) | const |
o2::gpu::TPCFastTransform::GPUd | ( | ) |
o2::gpu::TPCFastTransform::GPUd | ( | ) |
o2::gpu::TPCFastTransform::GPUd | ( | ) |
o2::gpu::TPCFastTransform::GPUd | ( | ) |
|
inline |
Return LdriftCorr offset in cm.
Definition at line 246 of file TPCFastTransform.h.
|
inline |
Return map lumi.
Definition at line 252 of file TPCFastTransform.h.
|
inline |
Return map lumi error.
Definition at line 255 of file TPCFastTransform.h.
|
inline |
Return map user defined lumi scale factor.
Definition at line 258 of file TPCFastTransform.h.
o2::gpu::TPCFastTransform::GPUd | ( | ) |
maximal possible drift time of the active area
o2::gpu::TPCFastTransform::GPUd | ( | ) |
maximal possible drift time of the active area
o2::gpu::TPCFastTransform::GPUd | ( | ) | const |
maximal possible drift time of the active area
|
inline |
Return T0 in time bin units.
Definition at line 240 of file TPCFastTransform.h.
|
inline |
Return TOF correction (vdrift / C)
Definition at line 249 of file TPCFastTransform.h.
|
inline |
Return mVDrift in cm / time bin.
Definition at line 237 of file TPCFastTransform.h.
|
inline |
Return VdriftCorrY in time_bin / cn.
Definition at line 243 of file TPCFastTransform.h.
|
inline |
Gives the time stamp of the current calibaration parameters.
Definition at line 234 of file TPCFastTransform.h.
o2::gpu::TPCFastTransform::GPUd | ( | ) |
o2::gpu::TPCFastTransform::GPUd | ( | ) |
o2::gpu::TPCFastTransform::GPUd | ( | ) |
o2::gpu::TPCFastTransform::GPUd | ( | ) |
o2::gpu::TPCFastTransform::GPUd | ( | ) |
o2::gpu::TPCFastTransform::GPUd | ( | ) |
o2::gpu::TPCFastTransform::GPUd | ( | ) |
o2::gpu::TPCFastTransform::GPUd | ( | ) |
Inverse transformation.
o2::gpu::TPCFastTransform::GPUd | ( | ) |
Inverse transformation: Transformed X, Y and Z -> X, Y and Z, transformed w/o space charge correction.
o2::gpu::TPCFastTransform::GPUd | ( | ) |
Inverse transformation: Transformed Y and Z -> Y and Z, transformed w/o space charge correction.
o2::gpu::TPCFastTransform::GPUd | ( | ) |
Inverse transformation: Transformed Y and Z -> transformed X.
o2::gpu::TPCFastTransform::GPUd | ( | ) |
_______________ The main method: cluster transformation _______________________
Transforms raw TPC coordinates to local XYZ withing a slice taking calibration + alignment into account.
o2::gpu::TPCFastTransform::GPUd | ( | ) |
Ideal transformation with Vdrift only - without calibration.
o2::gpu::TPCFastTransform::GPUd | ( | ) |
o2::gpu::TPCFastTransform::GPUd | ( | ) |
Transformation in the time frame.
o2::gpu::TPCFastTransform::GPUd | ( | ) |
o2::gpu::TPCFastTransform::GPUd | ( | ) |
|
inline |
Definition at line 226 of file TPCFastTransform.h.
|
static |
load from file
Definition at line 204 of file TPCFastTransform.cxx.
See FlatObject for description
Definition at line 70 of file TPCFastTransform.cxx.
|
delete |
Assignment operator: disabled to avoid ambiguity. Use cloneFromObject() instead.
void TPCFastTransform::print | ( | ) | const |
Print method.
Definition at line 149 of file TPCFastTransform.cxx.
void TPCFastTransform::rectifyAfterReadingFromFile | ( | ) |
Definition at line 199 of file TPCFastTransform.cxx.
|
inline |
Making the data buffer external.
Definition at line 220 of file FlatObject.h.
Moving the class with its external buffer to another location.
See FlatObject for description
Definition at line 77 of file TPCFastTransform.cxx.
|
inline |
Definition at line 225 of file TPCFastTransform.h.
|
inline |
Definition at line 224 of file TPCFastTransform.h.
void TPCFastTransform::setCalibration | ( | int64_t | timeStamp, |
float | t0, | ||
float | vDrift, | ||
float | vDriftCorrY, | ||
float | lDriftCorr, | ||
float | tofCorr, | ||
float | primVtxZ | ||
) |
Sets all drift calibration parameters and the time stamp
It must be called once during construction, but also may be called afterwards to reset these parameters.
Sets all drift calibration parameters and the time stamp
It must be called once during initialization, but also may be called after to reset these parameters.
Definition at line 120 of file TPCFastTransform.cxx.
See FlatObject for description
Definition at line 84 of file TPCFastTransform.cxx.
Set Lumi info.
Definition at line 162 of file TPCFastTransform.h.
Definition at line 163 of file TPCFastTransform.h.
Definition at line 164 of file TPCFastTransform.h.
void TPCFastTransform::setSlowTPCSCCorrection | ( | TFile & | inpf | ) |
setting the reference corrections
Definition at line 246 of file TPCFastTransform.cxx.
|
inline |
Sets the time stamp of the current calibaration.
Definition at line 167 of file TPCFastTransform.h.
void TPCFastTransform::startConstruction | ( | const TPCFastSpaceChargeCorrection & | correction | ) |
_______________ Construction interface ________________________
Starts the initialization procedure, reserves temporary memory
Starts the construction procedure, reserves temporary memory
Definition at line 95 of file TPCFastTransform.cxx.
int32_t TPCFastTransform::writeToFile | ( | std::string | outFName = "" , |
std::string | name = "" |
||
) |
store to file
Definition at line 170 of file TPCFastTransform.cxx.
Definition at line 187 of file TPCFastTransform.h.
Definition at line 188 of file TPCFastTransform.h.
Definition at line 191 of file TPCFastTransform.h.
Definition at line 203 of file TPCFastTransform.h.
float float float vertexTime o2::gpu::TPCFastTransform::const |
Definition at line 204 of file TPCFastTransform.h.
Definition at line 206 of file TPCFastTransform.h.
float float vertexTime o2::gpu::TPCFastTransform::const |
Definition at line 212 of file TPCFastTransform.h.
Definition at line 214 of file TPCFastTransform.h.
float deltaTime o2::gpu::TPCFastTransform::const |
Definition at line 216 of file TPCFastTransform.h.
float deltaZ o2::gpu::TPCFastTransform::const |
Definition at line 217 of file TPCFastTransform.h.
Definition at line 222 of file TPCFastTransform.h.
Definition at line 261 of file TPCFastTransform.h.
int32_t row o2::gpu::TPCFastTransform::const |
Definition at line 264 of file TPCFastTransform.h.
int32_t o2::gpu::TPCFastTransform::float |
Definition at line 191 of file TPCFastTransform.h.
Definition at line 200 of file TPCFastTransform.h.
Definition at line 197 of file TPCFastTransform.h.
Definition at line 200 of file TPCFastTransform.h.
Definition at line 197 of file TPCFastTransform.h.
Definition at line 200 of file TPCFastTransform.h.
Definition at line 183 of file TPCFastTransform.h.
Definition at line 191 of file TPCFastTransform.h.
int32_t float float float const TPCFastTransform * o2::gpu::TPCFastTransform::ref = nullptr |
Definition at line 183 of file TPCFastTransform.h.
int32_t float float float const TPCFastTransform* o2::gpu::TPCFastTransform::ref = nullptr |
Definition at line 184 of file TPCFastTransform.h.
Definition at line 197 of file TPCFastTransform.h.
int32_t float float float const TPCFastTransform const TPCFastTransform * o2::gpu::TPCFastTransform::ref2 = nullptr |
Definition at line 183 of file TPCFastTransform.h.
int32_t float float float const TPCFastTransform const TPCFastTransform* o2::gpu::TPCFastTransform::ref2 = nullptr |
Definition at line 184 of file TPCFastTransform.h.
int32_t float float float float const TPCFastTransform const TPCFastTransform* o2::gpu::TPCFastTransform::ref2 = nullptr |
Definition at line 197 of file TPCFastTransform.h.
int32_t o2::gpu::TPCFastTransform::row |
Definition at line 183 of file TPCFastTransform.h.
int32_t float float float const TPCFastTransform const TPCFastTransform float o2::gpu::TPCFastTransform::scale = 0.f |
Definition at line 183 of file TPCFastTransform.h.
int32_t float float float const TPCFastTransform const TPCFastTransform float o2::gpu::TPCFastTransform::scale = 0.f |
Definition at line 184 of file TPCFastTransform.h.
int32_t float float float float const TPCFastTransform const TPCFastTransform float o2::gpu::TPCFastTransform::scale = 0.f |
Definition at line 197 of file TPCFastTransform.h.
int32_t float float float const TPCFastTransform const TPCFastTransform float float o2::gpu::TPCFastTransform::scale2 = 0.f |
Definition at line 183 of file TPCFastTransform.h.
int32_t float float float const TPCFastTransform const TPCFastTransform float float o2::gpu::TPCFastTransform::scale2 = 0.f |
Definition at line 184 of file TPCFastTransform.h.
int32_t float float float float const TPCFastTransform const TPCFastTransform float float o2::gpu::TPCFastTransform::scale2 = 0.f |
Definition at line 197 of file TPCFastTransform.h.
int32_t float float float float float float const TPCFastTransform const TPCFastTransform float float int32_t o2::gpu::TPCFastTransform::scaleMode = 0) const |
Definition at line 183 of file TPCFastTransform.h.
int32_t float float float const TPCFastTransform const TPCFastTransform float float int32_t o2::gpu::TPCFastTransform::scaleMode = 0) const |
Definition at line 184 of file TPCFastTransform.h.
int32_t float float float float const TPCFastTransform const TPCFastTransform float float int32_t o2::gpu::TPCFastTransform::scaleMode = 0) const |
Definition at line 197 of file TPCFastTransform.h.
float o2::gpu::TPCFastTransform::time |
Definition at line 183 of file TPCFastTransform.h.
float o2::gpu::TPCFastTransform::time |
Definition at line 188 of file TPCFastTransform.h.
Definition at line 191 of file TPCFastTransform.h.
float& o2::gpu::TPCFastTransform::time |
Definition at line 212 of file TPCFastTransform.h.
int32_t float o2::gpu::TPCFastTransform::u |
Definition at line 206 of file TPCFastTransform.h.
int32_t float o2::gpu::TPCFastTransform::u |
Definition at line 210 of file TPCFastTransform.h.
Definition at line 206 of file TPCFastTransform.h.
Definition at line 208 of file TPCFastTransform.h.
Definition at line 210 of file TPCFastTransform.h.
Definition at line 183 of file TPCFastTransform.h.
float o2::gpu::TPCFastTransform::vertexTime |
Definition at line 220 of file TPCFastTransform.h.
Definition at line 183 of file TPCFastTransform.h.
int32_t float& o2::gpu::TPCFastTransform::x |
Definition at line 184 of file TPCFastTransform.h.
int32_t float o2::gpu::TPCFastTransform::x |
Definition at line 200 of file TPCFastTransform.h.
Definition at line 183 of file TPCFastTransform.h.
Definition at line 184 of file TPCFastTransform.h.
int32_t float o2::gpu::TPCFastTransform::y |
Definition at line 191 of file TPCFastTransform.h.
Definition at line 200 of file TPCFastTransform.h.
Definition at line 183 of file TPCFastTransform.h.
Definition at line 184 of file TPCFastTransform.h.
Definition at line 188 of file TPCFastTransform.h.
Definition at line 191 of file TPCFastTransform.h.
Definition at line 200 of file TPCFastTransform.h.
float o2::gpu::TPCFastTransform::z |
Definition at line 215 of file TPCFastTransform.h.
float o2::gpu::TPCFastTransform::zOffset |
Definition at line 219 of file TPCFastTransform.h.