1 #ifndef PHG4TPCCENTRALMEMBRANE_H
2 #define PHG4TPCCENTRALMEMBRANE_H
5 #include <phparameter/PHParameterInterface.h>
47 int getStripeID(
double xcheck,
double ycheck)
const;
66 static constexpr
double mm = 1.0;
67 static constexpr
double cm = 10.0;
73 static constexpr
double end_CM = 759.2138 *
mm;
93 static constexpr std::array<double, nRadii>
R1_e = {{227.0902789 *
mm, 238.4100043 *
mm, 249.7297296 *
mm, 261.049455 *
mm, 272.3691804 *
mm, 283.6889058 *
mm, 295.0086312 *
mm, 306.3283566 *
mm}};
94 static constexpr std::array<double, nRadii>
R1 = {{317.648082 *
mm, 328.9678074 *
mm, 340.2875328 *
mm, 351.6072582 *
mm, 362.9269836 *
mm, 374.246709 *
mm, 385.5664344 *
mm, 396.8861597 *
mm}};
95 static constexpr std::array<double, nRadii>
R2 = {{421.705532 *
mm, 442.119258 *
mm, 462.532984 *
mm, 482.9467608 *
mm, 503.36069 *
mm, 523.774416 *
mm, 544.188015 *
mm, 564.601868 *
mm}};
96 static constexpr std::array<double, nRadii>
R3 = {{594.6048725 *
mm, 616.545823 *
mm, 638.4867738 *
mm, 660.4277246 *
mm, 682.3686754 *
mm, 704.3096262 *
mm, 726.250577 *
mm, 748.1915277 *
mm}};
103 static constexpr std::array<double, nRadii>
widthmod_R1_e = {{1.493, 1.398, 1.334, 1.284, 1.243, 1.208, 1.178, 1.152}};
104 static constexpr std::array<double, nRadii>
widthmod_R1 = {{1.129, 1.109, 1.091, 1.076, 1.062, 1.050, 1.040, 1.030}};
105 static constexpr std::array<double, nRadii>
widthmod_R2 = {{1.015, 1.007, 1.002, 1.000, 1.001, 1.006, 1.013, 1.023}};
106 static constexpr std::array<double, nRadii>
widthmod_R3 = {{1.044, 1.064, 1.087, 1.115, 1.147, 1.186, 1.232, 1.288}};
159 static constexpr std::array<int, nRadii>
keepUntil_R1_e = {{4, 4, 5, 4, 5, 5, 5, 5}};
160 static constexpr std::array<int, nRadii>
keepUntil_R1 = {{5, 5, 6, 5, 6, 5, 6, 5}};
161 static constexpr std::array<int, nRadii>
keepUntil_R2 = {{7, 7, 8, 7, 8, 8, 8, 8}};
162 static constexpr std::array<int, nRadii>
keepUntil_R3 = {{11, 10, 11, 11, 11, 11, 12, 11}};
192 int nStripes,
int nPads,
193 const std::array<double, nRadii>&
R,
194 std::array<double, nRadii>& spacing,
195 double x1a[][
nRadii],
double y1a[][nRadii],
196 double x1b[][nRadii],
double y1b[][nRadii],
197 double x2a[][nRadii],
double y2a[][nRadii],
198 double x2b[][nRadii],
double y2b[][nRadii],
199 double x3a[][nRadii],
double y3a[][nRadii],
200 double x3b[][nRadii],
double y3b[][nRadii],
202 double str_width[][nRadii],
203 const std::array<double, nRadii>& widthmod,
204 std::array<int, nRadii>& nGoodStripes,
205 const std::array<int, nRadii>& keepUntil,
206 std::array<int, nRadii>& nStripesIn,
207 std::array<int, nRadii>& nStripesBefore);
210 const double x1a[][
nRadii],
const double x1b[][nRadii],
211 const double x2a[][nRadii],
const double x2b[][nRadii],
212 const double y1a[][nRadii],
const double y1b[][nRadii],
213 const double y2a[][nRadii],
const double y2b[][nRadii],
214 const double x3a[][nRadii],
const double y3a[][nRadii],
215 const double x3b[][nRadii],
const double y3b[][nRadii],
216 double x,
double y,
const std::array<int, nRadii>& nGoodStripes)
const;