9 #include <UnitTest++.h> 17 CHECK(Model_None() == 0.0);
21 vector<double> par = {0.5,2.1,3.7,0.4,0.1};
23 double expected = par[0] + par[1] / (par[2] + raw) +
24 par[3] * exp(-raw / par[4]);
25 double result = Model_A(par, raw);
26 CHECK(result == expected);
30 vector<double> par = {0.5,2.1,3.7,0.4};
32 double expected = par[0] + (par[1] + par[2] / (raw + 1.0)) *
34 double result = Model_B1(par, raw);
35 CHECK(result == expected);
39 vector<double> par = {0.5,2.1,3.7};
41 double expected = par[0] + par[1] * exp(-raw / par[2]);
42 double result = Model_B2(par, raw);
43 CHECK(result == expected);
47 vector<double> par = {0.5,2.1,3.7};
49 double expected = 1.09099*log(raw)-7.76641;
50 double result = Model_VS(par,raw);
51 CHECK(result == expected);
55 vector<double> par = {0.5,2.1,3.7};
57 double expected = 0.0;
58 double result = Model_VS(par,raw);
59 CHECK(result == expected);
63 vector<double> par = {0.5,2.1,3.7};
65 double expected = -(9.13743e-12)*pow(raw,3.) + (1.9485e-7)*pow(raw,2.)
66 -0.000163286*raw-2.13918;
67 double result = Model_VS(par,raw);
68 CHECK(result == expected);
72 vector<double> par = {0.5,2.1,3.7};
74 double expected = -(1.07908*log10(raw)-8.27739);
75 double result = Model_VB(par,raw);
76 CHECK(result == expected);
80 vector<double> par = {0.5,2.1,3.7};
82 double expected = 92.7907602830327 * exp(-raw/186091.225414275) +
83 0.59140785215161 * exp(raw/2068.14618331387) -
85 double result = Model_VD(par,raw);
86 CHECK(result == expected);
94 vector<double> par = {0.5,2.1,3.7,0.4,0.1};
97 double expected = par[0] + par[1] / (par[2] + raw) +
98 par[3] * exp(-raw / par[4]);
99 AddChannel(
id,
"A", min, max, par);
100 CHECK_EQUAL(expected, GetCorrection(
id, raw));
103 int main(
int argv,
char* argc[]) {
104 return(UnitTest::RunAllTests());
int main(int argv, char *argc[])
TEST_FIXTURE(WalkCorrector, Test_Model_None)
A Class to handle walk corrections for channels.
Class to correct channels for walk in the onboard filters.
Defines identifying information for channels.