File indexing completed on 2024-04-06 12:30:44
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef DTANGLEPARAM_H
0010 #define DTANGLEPARAM_H
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033 class DTAngleParam {
0034 public:
0035
0036 DTAngleParam();
0037
0038 DTAngleParam(float angle);
0039
0040
0041 ~DTAngleParam();
0042
0043
0044
0045 float time(float bwire, float xcoor) const;
0046
0047 private:
0048
0049
0050 static const int table_num_terms[19];
0051 static const int table_pow_field[190];
0052 static const int table_pow_xcoor[190];
0053 static const float table_offsc[19];
0054 static const float table_coeff[190];
0055
0056
0057 class ParamFunc {
0058 public:
0059 ParamFunc();
0060 ParamFunc(int bin);
0061 ~ParamFunc();
0062
0063
0064
0065
0066
0067 float time(float bwire, float xcoor) const;
0068
0069
0070 inline float dist(float angle) const
0071 {
0072 return angle - bin_angle;
0073 }
0074 inline float dist(const ParamFunc &func) const
0075 {
0076 return func.bin_angle - bin_angle;
0077 }
0078
0079 private:
0080 float bin_angle;
0081 const int *num_terms;
0082 const int *pow_field;
0083 const int *pow_xcoor;
0084 const float *offsc;
0085 const float *coeff;
0086 };
0087
0088
0089 float _angle;
0090 ParamFunc l_func;
0091 ParamFunc h_func;
0092
0093 friend class ParamFunc;
0094
0095 protected:
0096 };
0097 #endif