150 void setStackProperties(
const std::array<int, 4>& geometry,
const std::array<float, 5>&
distance,
const std::array<float, 4>& potential,
const std::array<float, 5>& electricField);
165 float getParameterC1(
int geom);
169 float getParameterC2(
int geom);
173 float getParameterC3(
int geom);
177 float getParameterC4(
int geom);
181 float getParameterC5(
int geom);
184 float getParameterC6();
190 float getParameterC7(
float eta1,
float eta2,
int geom);
196 float getParameterC8(
float eta1,
float eta2,
int geom);
202 float getParameterC9(
float eta1,
float eta2,
int geom);
208 float getParameterC7Bar(
float eta1,
float eta2,
int geom);
214 float getParameterC8Bar(
float eta1,
float eta2,
int geom);
220 float getParameterC9Bar(
float eta1,
float eta2,
int geom);
229 float getParameterC7BarFromX(
float intXStart,
float intXEnd,
int geom);
236 float getParameterC8BarFromX(
float intXStart,
float intXEnd,
int geom);
243 float getParameterC9BarFromX(
float intXStart,
float intXEnd,
int geom);
247 float getLambdaCathode(
int geom);
251 float getLambdaCathodef2(
int geom);
256 float getLambdaCathodeF2(
int n,
int geom);
260 float getMu1Cathode(
int geom);
264 float getMu1Cathodef2(
int geom);
269 float getMu1CathodeF2(
int n,
int geom);
273 float getMu2Cathode(
int geom);
277 float getMu2Cathodef2(
int geom);
282 float getMu2CathodeF2(
int n,
int geom);
291 float getMu2Top(
float intXStart,
float intXEnd,
int geom);
296 float getMu2Topf2(
float intXStart,
float intXEnd);
301 float getMu2TopfTaylorTerm0(
int geom);
306 float getMu2TopfTaylorTerm2(
int geom);
313 float getMu2TopF2(
int n,
float intXStart,
float intXEnd,
int geom);
318 float getMu2TopFTaylorTerm0(
int n,
int geom);
323 float getMu2TopFTaylorTerm2(
int n,
int geom);
330 float getIntXEndBot(
float eta1,
float eta2,
int geom);
337 float getIntXEndTop(
float eta1,
float eta2,
int geom);
342 float getEta1Kink1(
float eta2,
int geom);
347 float getEta1Kink2(
float eta2,
int geom);
352 float getEta2Kink1(
float eta1,
int geom);
357 float getEta2Kink2(
float eta1,
int geom);
362 float getHtop0(
int geom);
367 float getHtop2(
int geom);
373 void flipDistanceNextPrevStage();
376 const int mFitElecEffNumberHoles = 200;
377 const float mFitElecEffThickness = 50.0;
378 const float mFitElecEffHoleDiameter = 60.0;
379 float mFitElecEffDistancePrevStage = 2110.0;
380 float mFitElecEffDistanceNextStage = 2110.0;
382 const std::array<float, 3> mFitElecEffPitch;
383 const std::array<float, 3> mFitElecEffWidth;
386 const float mFitElecEffFieldAbove = 2000.0;
387 const float mFitElecEffFieldBelow = 0.0;
388 const float mFitElecEffPotentialGEM = 300.0;
389 const float mFitElecEffFieldGEM = mFitElecEffPotentialGEM / (mFitElecEffThickness * 0.0001);
392 const std::array<float, 3> mFitElecEffTuneEta1;
393 const std::array<float, 3> mFitElecEffTuneEta2;
394 const std::array<float, 3> mFitElecEffTuneDiffusion;
397 const std::array<float, 3> mFitAbsGainConstant;
398 const std::array<float, 3> mFitAbsGainSlope;
399 float mAbsGainScaling;
402 const std::array<float, 3> mFitSingleGainF0;
403 const std::array<float, 3> mFitSingleGainU0;
404 const std::array<float, 3> mFitSingleGainQ;
407 std::array<float, 3> mParamC1;
408 std::array<float, 3> mParamC2;
409 std::array<float, 3> mParamC3;
410 std::array<float, 3> mParamC4;
411 std::array<float, 3> mParamC5;
412 std::array<float, 3> mParamC6;
415 std::array<int, 4> mGeometry;
416 std::array<float, 5> mDistance;
417 std::array<float, 4> mPotential;
418 std::array<float, 5> mElectricField;
421 float mStackEffectiveGain;
427 int mStackEnergyCalculated;
434 const float Pi = 3.1415926;
437 const float PhotonEnergy = 5900.0;
440 const float Wi = 37.3;
443 const float Fano = 0.13;
void setStackProperties(const std::array< int, 4 > &geometry, const std::array< float, 5 > &distance, const std::array< float, 4 > &potential, const std::array< float, 5 > &electricField)