MaCh3 2.2.1
Reference Guide
Loading...
Searching...
No Matches
SplineCommon.h
Go to the documentation of this file.
1#pragma once
2
11
13#define _nCoeff_ 4
15#define _nTF1Coeff_ 2
16
19{
20 kCoeffY = 0,
21 kCoeffB = 1,
22 kCoeffC = 2,
23 kCoeffD = 3
24};
25
26// *******************
31// *******************
32 virtual ~SplineMonoStruct() {};
33
35 std::vector<float> coeff_x;
36
38 std::vector<float> coeff_many;
39
41 std::vector<unsigned int> nKnots_arr;
42
44 std::vector<short int> paramNo_arr;
45
46 #ifndef __CUDACC__
47 // Include ClassDef macro for ROOT dictionary generation, but only in C++ code
49 #endif
50};
51
52
53// WARNING KS: Please add stuff here with super caution. This header is being added to gpuSplineUtils.cu. Right now we support most of CUDA even super old. If you add some header with fancy templates it will not compile for older CUDA. This header is a way to use common macros or Enum in CPU and GPU code. For more sophisticated structs please use SplineStructs.h
SplineSegmentCoeffs
HW: Coefficients for grabbing items from manycoeff_arr (rather than having y=manycoeffarray[index+0])
Definition: SplineCommon.h:19
@ kCoeffB
Coefficient B.
Definition: SplineCommon.h:21
@ kCoeffD
Coefficient D.
Definition: SplineCommon.h:23
@ kCoeffY
Coefficient Y.
Definition: SplineCommon.h:20
@ kCoeffC
Coefficient C.
Definition: SplineCommon.h:22
KS: Struct storing information for spline monolith.
Definition: SplineCommon.h:30
std::vector< unsigned int > nKnots_arr
KS: CPU Number of knots per spline.
Definition: SplineCommon.h:41
std::vector< float > coeff_x
KS: CPU arrays to hold X coefficient.
Definition: SplineCommon.h:35
std::vector< float > coeff_many
CPU arrays to hold other coefficients.
Definition: SplineCommon.h:38
virtual ~SplineMonoStruct()
Definition: SplineCommon.h:32
std::vector< short int > paramNo_arr
CW: CPU array with the number of points per spline (not per spline point!)
Definition: SplineCommon.h:44
ClassDef(SplineMonoStruct, 1)