MaCh3  2.5.0
Reference Guide
SplineCommon.h
Go to the documentation of this file.
1 #pragma once
2 
16 
18 constexpr int _nCoeff_ = 4;
20 constexpr int _nTF1Coeff_ = 2;
21 
24 {
25  kCoeffY = 0,
26  kCoeffB = 1,
27  kCoeffC = 2,
28  kCoeffD = 3
29 };
30 
31 // *******************
36 // *******************
38  virtual ~SplineMonoStruct() = default;
39 
41  std::vector<float> coeff_x;
42 
44  std::vector<float> coeff_many;
45 
47  std::vector<unsigned int> nKnots_arr;
48 
50  std::vector<short int> paramNo_arr;
51 
52  #ifndef __CUDACC__
53  // Include ClassDef macro for ROOT dictionary generation, but only in C++ code
55  #endif
56 };
57 
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:18
SplineSegmentCoeffs
HW: Coefficients for grabbing items from manycoeff_arr (rather than having y=manycoeffarray[index+0])
Definition: SplineCommon.h:24
@ kCoeffB
Coefficient B.
Definition: SplineCommon.h:26
@ kCoeffD
Coefficient D.
Definition: SplineCommon.h:28
@ kCoeffY
Coefficient Y.
Definition: SplineCommon.h:25
@ kCoeffC
Coefficient C.
Definition: SplineCommon.h:27
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:20
KS: Struct storing information for spline monolith.
Definition: SplineCommon.h:35
std::vector< unsigned int > nKnots_arr
KS: CPU Number of knots per spline.
Definition: SplineCommon.h:47
std::vector< float > coeff_x
KS: CPU arrays to hold X coefficient.
Definition: SplineCommon.h:41
std::vector< float > coeff_many
CPU arrays to hold other coefficients.
Definition: SplineCommon.h:44
virtual ~SplineMonoStruct()=default
destructor
std::vector< short int > paramNo_arr
CW: CPU array with the number of points per spline (not per spline point!)
Definition: SplineCommon.h:50
ClassDef(SplineMonoStruct, 1)