MaCh3  2.2.3
Reference Guide
SplineCommon.h
Go to the documentation of this file.
1 #pragma once
2 
11 
13 constexpr int _nCoeff_ = 4;
15 constexpr int _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
constexpr int _nCoeff_
KS: We store coefficients {y,b,c,d} in one array one by one, this is only to define it once rather th...
Definition: SplineCommon.h:13
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
constexpr int _nTF1Coeff_
KS: For TF1 we store at most 5 coefficients, we could make it more flexible but for now define it her...
Definition: SplineCommon.h:15
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:32
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)