CbmRoot
CbmTrdFASP.cxx
Go to the documentation of this file.
1 #include "CbmTrdFASP.h"
2 
3 #include "CbmMatch.h" // for CbmMatch
4 #include "CbmTrdDigi.h" // for CbmTrdDigi, CbmTrdDigi::kFASP
5 
6 #include <FairLogger.h> // for Logger, LOG
7 
8 #include <TAxis.h> // for TAxis
9 #include <TCanvas.h> // for TCanvas
10 #include <TGraph.h> // for TGraph
11 #include <TH1.h> // for TH1, TH1F
12 #include <TLine.h> // for TLine
13 #include <TMath.h> // for Ceil, Floor
14 #include <TMathBase.h> // for Min
15 #include <TString.h> // for Form, TString
16 #include <TVirtualPad.h> // for TVirtualPad
17 
18 
19 #include <iostream> // for operator<<, basic_ostream, cout, ostream
20 #include <stdio.h> // for printf, size_t
21 #include <string.h> // for memcpy, memset, strcmp
22 #include <utility> // for pair, make_pair
23 
24 #define VERBOSE 0
25 #define DRAW 0
26 
27 using namespace std;
28 
29 Bool_t CbmTrdFASP::fgNeighbour = kTRUE; // by default enable neighbour trigger
30 // Float_t CbmTrdFASP::fgShaperThr = 0.2; // [V]
31 // Float_t CbmTrdFASP::fgNeighbourThr = 0.07; // [V]
32 Float_t CbmTrdFASP::fgShaperThr = 0.05; // [V]
33 Float_t CbmTrdFASP::fgNeighbourThr = 0.04; // [V]
34 Float_t CbmTrdFASP::fgBaseline = 0.25; // [V]
35 Float_t CbmTrdFASP::fgOutGain = 2.025; // [V/ 4095 ADC chs]
36 const Int_t CbmTrdFASP::fgkNclkFT = 14; // [clk]
37 Int_t CbmTrdFASP::fgNclkLG = 31; // [clk]
38 const Int_t CbmTrdFASP::fgkBufferKeep = 400; // [5*ns]
39 //___________________________________________________________________
40 CbmTrdFASP::CbmTrdFASP(UInt_t uslice)
41  : TObject()
42  , fStartTime(0)
43  , fProcTime(0)
44  , fCol(-1)
45  , fRow(-1)
46  , fAsicId(-1)
47  , fNraw(0)
48  , fDigi(nullptr)
49  , fHitThPrev(uslice)
50  , fShaper(uslice)
51  , fShaperNext(uslice)
52  , fDigiProc()
53  , fPar(nullptr)
54  , fTimeLG(-1)
55  , fTimeFT(-1)
56  , fTimeDY(-1)
57  , fFT(0)
58  , fGraphId(0)
59  , fOut()
60  , fGraphMap()
61  , fGthr(nullptr)
62  , fMonitor(nullptr) {
66  if (uslice < 2 * fgkBufferKeep) {
67  LOG(warn) << "CbmTrdFASP::CbmTrdFASP() : Buffer should be at least "
68  << 2 * fgkBufferKeep << " [5*ns] long. Expand.";
69  uslice = 2 * fgkBufferKeep;
70  }
71  fNphys[0] = 0;
72  fNphys[1] = 0;
73  fHitThPrev.assign(uslice, 0);
74  fShaper.assign(uslice, 0.);
75  fShaperNext.assign(uslice, 0.);
76  if (DRAW) fOut.assign(uslice + 2, 0.);
77  memset(fGraph, 0, NGRAPH * sizeof(TGraph*));
78  memset(fGraphShp, 0, NGRAPH * sizeof(TGraph*));
79  memset(fGraphPhys, 0, NGRAPH * sizeof(TGraph*));
80  SetProcTime();
81 }
82 
83 //___________________________________________________________________
85  Int_t nalloc(0);
86  for (Int_t ig(0); ig < NGRAPH; ig++) {
87  if (fGraph[ig]) delete fGraph[ig];
88  if (fGraphShp[ig]) delete fGraphShp[ig];
89  if (fGraphPhys[ig]) delete fGraphPhys[ig];
90  nalloc++;
91  }
92  if (VERBOSE && DRAW) printf("CbmTrdFASP::~CbmTrdFASP() : allocated graphs.");
93  if (fMonitor) delete fMonitor;
94 }
95 
96 //___________________________________________________________________
97 void CbmTrdFASP::Clear(Option_t* opt) {
98  // printf("CbmTrdFASP::Clear : Nphys[0] = %d\n", fNphys[0]);
99 
100  if (fNphys[0])
102  'R'); // process last rect channel without interference from current tilt
103  fHitThPrev.assign(fHitThPrev.size(), 0); //*sizeof(Bool_t));
104  WriteDigi(); // finalize fDigi list
105  if (strcmp(opt, "draw") == 0) Draw();
106 }
107 
108 //___________________________________________________________________
109 void CbmTrdFASP::Draw(Option_t* /*opt*/) {
110  // printf("CbmTrdFASP::Draw : row[%2d] col[%2d] asic[%2d]\n", fRow, fCol, fAsicId);
111  if (!DRAW) return;
112  if (!fGraphMap.size()) return;
113 
114  Int_t nasic(0), last(-1), nlast(0);
115  vector<pair<Int_t, Int_t>>::iterator ig = fGraphMap.begin();
116  while (ig != fGraphMap.end()) {
117  if (last < 0 || ig->first != last) {
118  nasic++;
119  last = ig->first;
120  nlast = 0;
121  }
122  nlast++;
123  ig++;
124  }
125  if (nasic <= 1) return;
126 
127  TH1* h(nullptr);
128  TString st, sch;
129  Int_t ch, jg;
130  TVirtualPad* c1(nullptr);
131  if (!fMonitor) {
132  fMonitor = new TCanvas("c", "FASP Simulator", 10, 10, 1500, 2000);
133  fMonitor->Divide(2, 8, 1.e-5, 1.e-5);
134  for (Int_t ic(0); ic < 16; ic++) {
135  c1 = fMonitor->cd(ic + 1);
136  c1->SetLeftMargin(0.03580097);
137  c1->SetRightMargin(0.006067961);
138  c1->SetTopMargin(0.01476793);
139  }
140  // fMonitor = new TCanvas("c", "FASP Simulator",10,10,500,1000);
141  // fMonitor->Divide(1,2,1.e-5, 1.e-5);
142  // for(Int_t ic(0); ic<2; ic++){
143  // c1 = fMonitor->cd(ic+1);
144  // c1->SetLeftMargin(0.03580097);
145  // c1->SetRightMargin(0.006067961);
146  // c1->SetTopMargin(0.01476793);
147  // }
148  fGthr = new TLine();
149  fGthr->SetLineStyle(2);
150  }
151 
152  ig = fGraphMap.begin();
153  last = ig->first;
154  for (Int_t iasic(0); iasic < nasic - 1; iasic++) {
155  while (ig != fGraphMap.end()) {
156  if (ig->first != last) { // save graphs
157  fMonitor->Modified();
158  fMonitor->Update();
159  fMonitor->SaveAs(Form("FASP_analog_ASIC%03d.gif", last));
160  for (Int_t ic(0); ic < /*2*/ 16; ic++)
161  fMonitor->cd(ic + 1)->Clear();
162  last = ig->first;
163  break;
164  }
165  jg = ig->second;
166  st = fGraph[jg]->GetTitle();
167  sch = st(st.Sizeof() - 3, 2);
168  ch = sch.Atoi();
169  if (ch >= 8)
170  c1 = fMonitor->cd(2 + 2 * (ch - 8)); //->SetLogy();
171  else
172  c1 = fMonitor->cd(1 + 2 * ch);
173  fGraph[jg]->Draw("al");
174  fGraphShp[jg]->Draw("l");
175  fGraphPhys[jg]->Draw("lp");
176  fGthr->SetLineColor(kGreen);
177  fGthr->DrawLine(0, fgShaperThr + 0.2, 5 * fOut.size(), fgShaperThr + 0.2);
178  fGthr->SetLineColor(kRed);
179  fGthr->DrawLine(
180  0, fgNeighbourThr + 0.2, 5 * fOut.size(), fgNeighbourThr + 0.2);
181  h = fGraph[jg]->GetHistogram();
182  h->GetYaxis()->SetRangeUser(0.01, 5.3);
183 
184  ig++;
185  }
186  }
187 
188  //swap draw buffer
189  TGraph* buffer[NGRAPH] = {nullptr};
190  memcpy(buffer, fGraph, (jg + 1) * sizeof(TGraph*));
191  memcpy(fGraph, &fGraph[jg + 1], nlast * sizeof(TGraph*));
192  memcpy(&fGraph[nlast], buffer, (jg + 1) * sizeof(TGraph*));
193  memcpy(buffer, fGraphShp, (jg + 1) * sizeof(TGraph*));
194  memcpy(fGraphShp, &fGraphShp[jg + 1], nlast * sizeof(TGraph*));
195  memcpy(&fGraphShp[nlast], buffer, (jg + 1) * sizeof(TGraph*));
196  memcpy(buffer, fGraphPhys, (jg + 1) * sizeof(TGraph*));
197  memcpy(fGraphPhys, &fGraphPhys[jg + 1], nlast * sizeof(TGraph*));
198  memcpy(&fGraphPhys[nlast], buffer, (jg + 1) * sizeof(TGraph*));
199  fGraphId -= jg + 1;
200  fGraphMap.clear();
201  for (Int_t ich(0); ich < nlast; ich++)
202  fGraphMap.push_back(make_pair(last, ich));
203 }
204 
205 //___________________________________________________________________
206 Bool_t CbmTrdFASP::Go(ULong64_t time) {
210  if (fStartTime == 0) {
211  fStartTime = time;
212  return kFALSE;
213  }
214 
215  if (time < fStartTime) {
216  LOG(warn) << "FASP simulator start time " << fStartTime
217  << "[ns] is larger than event time " << time << "[ns]. Skip";
218  return kFALSE;
219  }
220 
221  // check to see if there are at most 2us left
222  if (time - fStartTime < fProcTime) return kFALSE;
223 
224  return kTRUE; // go
225 }
226 
227 //___________________________________________________________________
228 void CbmTrdFASP::GetShaperSignal(Double_t charge) {
233  // printf("CbmTrdFASP::GetShaperSignal(%5.1f)\n", charge);
234  Int_t idx0(-1), idx1(0);
235  for (Int_t is0(1); is0 < fgkNDB; is0++) {
236  if (charge > fgkCharge[is0]) continue;
237  idx0 = is0 - 1;
238  break;
239  }
240 
241  if (idx0 < 0) { // above calibrated region
242  if (VERBOSE)
243  printf("refMax[%2d]=%5.1f\n", fgkNDB - 1, fgkCharge[fgkNDB - 1]);
244  memcpy(fSignal, fgkShaper[fgkNDB - 1], FASP_WINDOW * sizeof(Float_t));
245  } else if (idx0 == 0 && charge < fgkCharge[0]) { // below calibrated region
246  if (VERBOSE) printf("refMin[0]={%5.1f}\n", fgkCharge[0]);
247  for (Int_t it(0); it < FASP_WINDOW; it++)
248  fSignal[it] = charge * fgkShaper[0][it] / fgkCharge[0];
249  } else {
250  idx1 = idx0 + 1;
251  if (VERBOSE)
252  printf("ref={%5.1f[%2d] %5.1f[%2d]}\n",
253  fgkCharge[idx0],
254  idx0,
255  fgkCharge[idx1],
256  idx1);
257  // linear interpolation
258  Double_t dq(fgkCharge[idx0] - fgkCharge[idx1]);
259  for (Int_t it(0); it < FASP_WINDOW; it++)
260  fSignal[it] = (charge * (fgkShaper[idx0][it] - fgkShaper[idx1][it])
261  + fgkShaper[idx1][it] * fgkCharge[idx0]
262  - fgkShaper[idx0][it] * fgkCharge[idx1])
263  / dq;
264  }
265 }
266 
267 //___________________________________________________________________
268 void CbmTrdFASP::Init(Int_t /*col*/, CbmTrdParFaspChannel* /*par*/) {}
269 
270 //___________________________________________________________________
271 Double_t CbmTrdFASP::MakeOut(Int_t time) {
272  if (time <= fTimeFT) return fFT;
273 
274  Double_t out(0);
275  Int_t i = TMath::Min(Int_t(fShaper.size()), time - 1), j(0);
276  while (i >= 0 && j < SHAPER_LUT - 1) {
277  j = (time - i) - 1;
278  out += 1. * fShaper[i] * fgkShaperLUT[j];
279  i--;
280  }
281  if (fTimeFT < 0 && fTimeDY < 0) return out;
282 
283  //decay
284  j = time - (fTimeDY - SHAPER_LUT);
285  if (j > SHAPER_LUT - 1) return out;
286  Double_t decay = fFT * fgkDecayLUT[j];
287  if (out > decay) { // reset
288  fTimeDY = -1;
289  fFT = 0;
290  decay = out;
291  }
292  return decay;
293 }
294 
295 //___________________________________________________________________
297  std::vector<std::pair<CbmTrdDigi*, CbmMatch*>>* vdigi,
298  Int_t col,
299  Int_t row) {
303  if (fgNeighbour)
304  ScanDigiNE(vdigi, col, row);
305  else
306  ScanDigi(vdigi, col, row);
307 }
308 
309 //___________________________________________________________________
310 void CbmTrdFASP::Print(Option_t* opt) const {
314  printf("FASP Simulator : Col[%2d] NeighbourTrigger[%c]\n",
315  fCol,
316  fgNeighbour ? 'y' : 'n');
317  printf(" Main CH : Trigger[V]=%4.2f Flat-Top[ns]=%5.1f\n",
318  fgShaperThr,
320  printf(" Neighbour CH : Trigger[V]=%4.2f Linear-gate[ns]=%5.1f\n",
323 
324  if (strcmp(opt, "all") != 0) return;
325  Int_t time = 0;
326  vector<Float_t>::const_iterator it = fShaper.cbegin(),
327  jt = fShaperNext.cbegin();
328  while (it != fShaper.cend()) {
329  printf("time[ns]=%4d sgn[mV] : sc(%6.1f) sn(%6.1f)\n",
330  time,
331  1.e3 * (*it),
332  1.e3 * (*jt));
333 
334  it++;
335  jt++;
336  time += 5;
337  }
338 }
339 
340 //___________________________________________________________________
341 Int_t CbmTrdFASP::ProcessShaper(Char_t typ) {
352  if (VERBOSE)
353  printf(" CbmTrdFASP::ProcessShaper(%c) : row[%2d] col[%2d] asic[%4d] "
354  "PhysDigi[%d] GraphPtr[%d] ...\n",
355  typ,
356  fRow,
357  fCol,
358  fAsicId,
359  fNphys[0],
360  (DRAW ? fGraphId : -1));
361  fTimeFT = -1;
362  fTimeLG = -1;
363  fFT = 0;
364  // digital signals
365  Bool_t ht(0), htf(0), // hit_threshold level/front for current FASP channel
366  ht_next(0), htf_next(0), // hit_threshold level/front for next FASP channel
367  htf_prev(0), // hit_threshold front for previous FASP channel
368  pk_cmd(0), // peak_command level
369  lg_cmd(0), // linear-gate_command level
370  trigger(0); // trigger type [1] = self [0]=neighbour
371  UInt_t n(0), // no of raw digi found in current shaper
372  htime(0); // hit time on current channel
373  Double_t out, max(-1), old(-1);
374  for (size_t i = 1; i < fShaper.size() - 1; i++) {
375  // compute hit threshold level/front for current and neighbour channels
376  htf_prev = 0;
377  htf = 0;
378  htf_next = 0;
379  if (/*fShaper[i-1]<fgNeighbourThr && */ fShaper[i] >= fgNeighbourThr)
380  htime = i * 5;
381  if (fShaper[i - 1] < fgShaperThr && fShaper[i] >= fgShaperThr) {
382  ht = 1;
383  htf = 1;
384  trigger = 1;
385  if (VERBOSE) printf(" %4lu : HT 1\n", i * 5);
386  } else if (fShaper[i - 1] >= fgShaperThr && fShaper[i] < fgShaperThr) {
387  ht = 0;
388  if (VERBOSE) printf(" %4lu : HT 0\n", i * 5);
389  }
390  if (fgNeighbour) { // compute neighbour hit threshold if NE selected
391  if (fShaperNext[i - 1] < fgShaperThr && fShaperNext[i] >= fgShaperThr) {
392  ht_next = 1;
393  htf_next = 1;
394  if (VERBOSE) printf(" %4lu : HT_NEXT 1\n", i * 5);
395  } else if (fShaperNext[i - 1] >= fgShaperThr
396  && fShaperNext[i] < fgShaperThr) {
397  ht_next = 0;
398  if (VERBOSE) printf(" %4lu : HT_NEXT 0\n", i * 5);
399  }
400  if (!fHitThPrev[i] && fHitThPrev[i + 1]) {
401  htf_prev = 1;
402  if (VERBOSE) printf(" %4lu : HT_PREV 1\n", i * 5);
403  }
404  if (VERBOSE && fHitThPrev[i] && !fHitThPrev[i + 1])
405  printf(" %4lu : HT_PREV 0\n", i * 5);
406  }
407 
408  // compute linear gate
409  if (fTimeLG < 0) { // check if linear-gate is closed
410  if ((fgNeighbour && (htf_prev || htf || htf_next))
411  || (!fgNeighbour && htf)) {
412  lg_cmd = 1;
414  if (VERBOSE)
415  printf(
416  " %4lu : LG_CMD 1 -> MinGateEnd[ns]=%d\n", i * 5, fTimeLG * 5);
417  }
418  } else if (static_cast<size_t>(fTimeLG) < i && !ht && !pk_cmd
419  && (fgNeighbour && (!fHitThPrev[i] && !ht_next))) {
420  lg_cmd = 0;
421  trigger = 0;
422  fTimeLG = -1;
423  if (VERBOSE) printf(" %4lu : LG_CMD 0\n", i * 5);
424  }
425 
426  if (!pk_cmd && lg_cmd && fShaper[i] >= fgNeighbourThr
427  && fShaper[i] >= fShaper[i - 1] && fShaper[i] > fShaper[i + 1]) {
428  pk_cmd = 1;
429  if (VERBOSE) printf(" %4lu : PK_CMD 1\n", i * 5);
430  }
431 
432  out = MakeOut(i);
433 
434  if (fTimeFT < 0 && lg_cmd && pk_cmd) {
435  if (max > 0 && out > max) {
436  max = -1;
437  if (VERBOSE) printf(" %4lu : RESET MAX\n", i * 5);
438  }
439  if (max < 0 && out < old) {
440  max = out;
441  if (VERBOSE) printf(" %4lu : MAX[V]=%5.2f\n", i * 5, max);
442  }
443  if (out < max - 0.05) {
445  fTimeDY = -1;
446  fFT = max + 0.01;
447  // save data for digi update
448  fDigiProc.push_back(make_tuple(
449  htime,
450  UInt_t((i + 3) * 5),
451  UInt_t(4095
452  * TMath::Min(Float_t(1.), (fgBaseline + fFT) / fgOutGain)),
453  trigger));
454  n++;
455  if (VERBOSE)
456  printf(" %4lu : HT[ns]=%4d FT[V]=%5.2f CS[ns]+=15 |CS[ns]=%d "
457  "Trig[%c]\n",
458  i * 5,
459  htime,
460  fFT,
461  fTimeFT * 5,
462  trigger ? 'S' : 'N');
463  }
464  }
465  if (fTimeFT > 0 && static_cast<size_t>(fTimeFT) <= i) {
467  fTimeFT = -1;
468  fTimeLG = -1;
469  pk_cmd = 0;
470  lg_cmd = 0;
471  trigger = 0;
472  max = -1;
473  if (VERBOSE)
474  printf(" %4lu : LG_CMD 0\n"
475  " %4lu : PK_CMD 0\n",
476  i * 5,
477  i * 5);
478  }
479  if (DRAW) fOut[i + 3] = out;
480  old = out;
481  if (fgNeighbour) fHitThPrev[i] = ht; // save hit threshold for next channel
482  }
483 
484  // save results for draw
485  if (DRAW) {
486  if (fGraphId < NGRAPH - 1) {
487  Int_t ch = 2 * (fCol % 8) + (typ == 'R' ? 1 : 0), ip(0),
488  time = fStartTime;
489  if (!fGraph[fGraphId]) {
490  fGraph[fGraphId] = new TGraph(fOut.size());
491  fGraph[fGraphId]->SetName(Form("g%03d", fGraphId));
492  fGraph[fGraphId]->SetFillStyle(0);
493  fGraph[fGraphId]->SetMarkerStyle(7);
494  fGraph[fGraphId]->SetLineColor(kRed);
495  fGraph[fGraphId]->SetMarkerColor(kRed);
496  fGraphShp[fGraphId] = (TGraph*) fGraph[fGraphId]->Clone();
497  fGraphShp[fGraphId]->SetName(Form("gs%03d", fGraphId));
498  fGraphShp[fGraphId]->SetLineColor(kBlack);
499  fGraphShp[fGraphId]->SetMarkerColor(kBlack);
500  }
501  fGraph[fGraphId]->SetTitle(Form(
502  "Col[%2d] Row[%2d] ASIC[%3d] Channel = %2d", fCol, fRow, fAsicId, ch));
503  fGraphMap.push_back(make_pair(fAsicId, fGraphId));
504  vector<Float_t>::const_iterator ot = fOut.cbegin(), st = fShaper.cbegin();
505  while (ot != fOut.cend()) {
506  fGraph[fGraphId]->SetPoint(ip, time, 0.3 + *ot);
507  ot++;
508  fGraphShp[fGraphId]->SetPoint(ip, time, 0.2 + *st);
509  st++;
510  time += 5;
511  ip++;
512  }
513  fGraphId += 1;
514  } else
515  LOG(warn)
516  << "CbmTrdFASP::ProcessShaper : Draw buffer exhausted. Expert setting.";
517  }
518  // move to the next channel
519  memcpy(fShaper.data(), fShaperNext.data(), fShaper.size() * sizeof(Float_t));
520  memset(fShaperNext.data(), 0, fShaperNext.size() * sizeof(Float_t));
521  fNphys[0] = fNphys[1];
522  fNphys[1] = 0;
523 
524  return n;
525 }
526 
527 //___________________________________________________________________
528 void CbmTrdFASP::ScanDigi(std::vector<std::pair<CbmTrdDigi*, CbmMatch*>>* vdigi,
529  Int_t col,
530  Int_t row) {
534  CbmTrdDigi* digi(nullptr);
535  ULong64_t time;
536  Int_t dt, gid, asic = row * 9 + col / 8;
537  Double_t t, r;
538  if (fAsicId < 0) fAsicId = asic; // init asic identifier
539  fCol = col;
540  fRow = row;
541  fAsicId = asic;
542  if (DRAW) {
543  gid = fGraphId + 1;
544  if (fGraphPhys[gid])
545  memset(
546  fGraphPhys[gid]->GetY(), 0, fGraphPhys[gid]->GetN() * sizeof(Double_t));
547  else {
548  fGraphPhys[gid] = new TGraph(fOut.size());
549  fGraphPhys[gid]->SetName(Form("gp%03d", gid));
550  fGraphPhys[gid]->SetMarkerStyle(20);
551  fGraphPhys[gid]->SetLineWidth(2);
552  for (UInt_t ip(0), tm(fStartTime / 5); ip < fOut.size(); ip++, tm += 5)
553  fGraphPhys[gid]->SetPoint(ip, tm, 0.);
554  }
555  }
556  // process digi
557  std::vector<std::pair<CbmTrdDigi*, CbmMatch*>>::iterator iv = vdigi->begin();
558  vector<Float_t>::iterator itb;
559  while (iv != vdigi->end()) {
560  digi = iv->first;
561  time = (digi->GetTimeDAQ() - fStartTime) / 5; // get time in 5ns bins
562  if (time + FASP_WINDOW > fShaper.size()) {
563  LOG(debug) << "CbmTrdFASP::ScanDigi() : Digi @ row[" << row << "] col["
564  << col << "] time[" << digi->GetTimeDAQ()
565  << "] dows not fit in the current buffer starting @ "
566  << fStartTime << "ns. Skip this time.";
567  break;
568  }
569 
570  r = digi->GetCharge(t, dt);
571  t /= 10;
572  r /= 10;
573  if (VERBOSE)
574  printf(
575  " time buffer[5ns]=%4llu / phys[ns]=%llu charge[fC]=%5.1f / %5.1f",
576  time,
577  digi->GetTimeDAQ(),
578  t,
579  r);
580  // tilt pad channel
581  if (t > 0) {
582  if (DRAW) fGraphPhys[gid]->SetPoint(time, digi->GetTimeDAQ(), t / 100.);
583  GetShaperSignal(t);
584  itb = fShaper.begin();
585  itb += time;
586  for (Int_t it(0); it < FASP_WINDOW && itb != fShaper.end(); it++, itb++)
587  (*itb) += fSignal[it];
588  fNphys[0]++;
589  } else if (VERBOSE)
590  printf("\n");
591  // rect pad channel
592  if (r > 0) {
593  if (DRAW) fGraphPhys[gid]->SetPoint(time, digi->GetTimeDAQ(), r / 100.);
594  GetShaperSignal(r);
595  itb = fShaperNext.begin();
596  itb += time + dt;
597  for (Int_t it(0); it < FASP_WINDOW && itb != fShaperNext.end();
598  it++, itb++)
599  (*itb) += fSignal[it];
600  fNphys[1]++;
601  } else if (VERBOSE)
602  printf("\n");
603  iv++;
604  }
605  if (fNphys[0]) fNraw = ProcessShaper('T'); // process tilt
606  if (fNphys[1]) ProcessShaper('R'); // process rect
607  fDigi = vdigi;
608  WriteDigi();
609 }
610 
611 //___________________________________________________________________
613  std::vector<std::pair<CbmTrdDigi*, CbmMatch*>>* vdigi,
614  Int_t col,
615  Int_t row) {
620  CbmTrdDigi* digi(nullptr);
621  ULong64_t time;
622  Int_t dt, gid, asic = row * 9 + col / 8;
623  Double_t t, r;
624  std::vector<std::pair<CbmTrdDigi*, CbmMatch*>>::iterator iv;
625  vector<Float_t>::iterator itb;
626 
627  if (fAsicId < 0) fAsicId = asic; // init asic identifier
628 
629  // printf("CbmTrdFASP::ScanDigiNE : fCol[%2d] col[%2d] graph[%d]\n", fCol, col, fGraphId);
630  // No interference from the previous data
631  if (fCol < 0 || // first data in the module
632  (fCol >= 0 && col != fCol + 1) || // column jump
633  (fRow >= 0 && row != fRow)) { // row jump
634  Clear((fAsicId != asic ? "draw" : ""));
635 
636  if (DRAW) {
637  gid = fGraphId;
638  if (fGraphPhys[gid])
639  memset(fGraphPhys[gid]->GetY(),
640  0,
641  fGraphPhys[gid]->GetN() * sizeof(Double_t));
642  else {
643  fGraphPhys[gid] = new TGraph(fOut.size());
644  fGraphPhys[gid]->SetName(Form("gp%03d", gid));
645  fGraphPhys[gid]->SetMarkerStyle(20);
646  fGraphPhys[gid]->SetLineWidth(2);
647  for (UInt_t ip(0), tm(fStartTime / 5); ip < fOut.size(); ip++, tm += 5)
648  fGraphPhys[gid]->SetPoint(ip, tm, 0.);
649  }
650  }
651 
652  // load data from current tilt channel
653  iv = vdigi->begin();
654  while (iv != vdigi->end()) {
655  digi = iv->first;
656  time = (digi->GetTimeDAQ() - fStartTime)
657  / 5; // get time from buffer start in 5ns bins
658  if (time + FASP_WINDOW > fShaper.size()) {
659  LOG(debug) << "CbmTrdFASP::ScanDigiNE() : T-Digi @ row[" << row
660  << "] col[" << col << "] time[" << digi->GetTimeDAQ()
661  << "] does not fit in the current buffer starting @ "
662  << fStartTime << "ns. Skip this time.";
663  break;
664  }
665  digi->GetCharge(t, dt);
666  t /= 10.;
667  if (VERBOSE)
668  printf(" [T] time buffer[5ns]=%4llu / phys[ns]=%llu charge[fC]=%5.1f ",
669  time,
670  digi->GetTimeDAQ(),
671  t);
672  // tilt pad channel
673  if (t > 0) {
674  if (DRAW) fGraphPhys[gid]->SetPoint(time, digi->GetTimeDAQ(), t / 100.);
675  GetShaperSignal(t);
676  itb = fShaper.begin();
677  itb += time;
678  for (Int_t it(0); it < FASP_WINDOW && itb != fShaper.end(); it++, itb++)
679  (*itb) += fSignal[it];
680  fNphys[0]++;
681  } else if (VERBOSE)
682  printf("\n");
683  iv++;
684  }
685  } else {
686  if (DRAW) {
687  gid = fGraphId + 1;
688  if (fGraphPhys[gid])
689  memset(fGraphPhys[gid]->GetY(),
690  0,
691  fGraphPhys[gid]->GetN() * sizeof(Double_t));
692  else {
693  fGraphPhys[gid] = new TGraph(fOut.size());
694  fGraphPhys[gid]->SetName(Form("gp%03d", gid));
695  fGraphPhys[gid]->SetMarkerStyle(20);
696  fGraphPhys[gid]->SetLineWidth(2);
697  for (UInt_t ip(0), tm(fStartTime / 5); ip < fOut.size(); ip++, tm += 5)
698  fGraphPhys[gid]->SetPoint(ip, tm, 0.);
699  }
700  }
701 
702  // load tilt digi to account for neighbour trigger
703  iv = vdigi->begin();
704  while (iv != vdigi->end()) {
705  digi = iv->first;
706  time = (digi->GetTimeDAQ() - fStartTime)
707  / 5; // get time from buffer start in 5ns bins
708  if (time + FASP_WINDOW > fShaper.size()) {
709  LOG(debug) << "CbmTrdFASP::ScanDigiNE() : T-Digi @ row[" << row
710  << "] col[" << col << "] time[" << digi->GetTimeDAQ()
711  << "] does not fit in the current buffer starting @ "
712  << fStartTime << "ns. Skip this time.";
713  break;
714  }
715  digi->GetCharge(t, dt);
716  t /= 10.;
717 
718  if (VERBOSE)
719  printf(" [T] time buffer[5ns]=%4llu / phys[ns]=%llu charge[fC]=%5.1f ",
720  time,
721  digi->GetTimeDAQ(),
722  t);
723  // tilt pad channel
724  if (t > 0) {
725  if (DRAW) fGraphPhys[gid]->SetPoint(time, digi->GetTimeDAQ(), t / 100.);
726  GetShaperSignal(t);
727  itb = fShaperNext.begin();
728  itb += time;
729  for (Int_t it(0); it < FASP_WINDOW && itb != fShaperNext.end();
730  it++, itb++)
731  (*itb) += fSignal[it];
732  fNphys[1]++;
733  } else if (VERBOSE)
734  printf("\n");
735  iv++;
736  }
737  ProcessShaper('R'); // process previous rect channel
738  WriteDigi(); // finalize fDigi list
739  }
740 
741  fCol = col;
742  fRow = row;
743  fAsicId = asic;
744 
745  if (DRAW) {
746  gid = fGraphId + 1;
747  if (fGraphPhys[gid])
748  memset(
749  fGraphPhys[gid]->GetY(), 0, fGraphPhys[gid]->GetN() * sizeof(Double_t));
750  else {
751  fGraphPhys[gid] = new TGraph(fOut.size());
752  fGraphPhys[gid]->SetName(Form("gp%03d", gid));
753  fGraphPhys[gid]->SetMarkerStyle(20);
754  fGraphPhys[gid]->SetLineWidth(2);
755  for (UInt_t ip(0), tm(fStartTime / 5); ip < fOut.size(); ip++, tm += 5)
756  fGraphPhys[gid]->SetPoint(ip, tm, 0.);
757  }
758  }
759  iv = vdigi->begin();
760  while (iv != vdigi->end()) {
761  digi = iv->first;
762  time = (digi->GetTimeDAQ() - fStartTime)
763  / 5; // get time from buffer start in 5ns bins
764  if (time + FASP_WINDOW > fShaper.size()) {
765  LOG(debug) << "CbmTrdFASP::ScanDigiNE() : R-Digi @ row[" << row
766  << "] col[" << col << "] time[" << digi->GetTimeDAQ()
767  << "] dows not fit in the current buffer starting @ "
768  << fStartTime << "ns. Skip this time.";
769  break;
770  }
771  r = digi->GetCharge(t, dt);
772  r /= 10.;
773  if (VERBOSE)
774  printf(" [R] time buffer[5ns]=%4llu / phys[ns]=%llu charge[fC]=%5.1f ",
775  time,
776  digi->GetTimeDAQ(),
777  r);
778 
779  // rect pad channel
780  if (r > 0) {
781  if (DRAW) fGraphPhys[gid]->SetPoint(time, digi->GetTimeDAQ(), r / 100.);
782  GetShaperSignal(r);
783  itb = fShaperNext.begin();
784  itb += time + dt;
785  for (Int_t it(0); it < FASP_WINDOW && itb != fShaperNext.end();
786  it++, itb++)
787  (*itb) += fSignal[it];
788  fNphys[1]++;
789  } else if (VERBOSE)
790  printf("\n");
791  iv++;
792  }
793  fNraw = ProcessShaper('T'); // process tilt on current channel
794  fDigi = vdigi; // save link for further processing
795 }
796 
797 //___________________________________________________________________
798 void CbmTrdFASP::SetProcTime(ULong64_t t) {
799  if (t == 0)
800  fProcTime = 5 * (fShaper.size() - fgkBufferKeep);
801  else
802  fProcTime = t - fStartTime;
803  //printf(" ProcTime[ns] = %d\n", fProcTime);
804 }
805 
806 //___________________________________________________________________
808 
809  if (!fDigi) return;
810  if (VERBOSE)
811  printf(" CbmTrdFASP::WriteDigi(T[%d], R[%d]) ...\n",
812  fNraw + 1,
813  Int_t(fDigiProc.size()) - fNraw + 1);
814 
815  vector<tuple<UInt_t, UInt_t, UInt_t, Bool_t>>::iterator
816  it = fDigiProc.begin(), // begin [tilt] iterator
817  jt = it + fNraw, // middle [rect] iterator
818  lt = jt; // middle iterator
819  CbmTrdDigi *digi(nullptr), *digi1(nullptr);
820  CbmMatch* dmatch(nullptr);
821  ULong64_t time, dtime;
822  Int_t dt, ddt, trigger(0);
823  Double_t t, r, t0, r0;
824  UInt_t hTime, // hit time [ns]
825  csTime, // CS time [ns]
826  tADC, // tilt channel signal [ADC]
827  rADC; // rect channel signal [ADC]
828  //Bool_t mask(0), pileup(0);
829  std::vector<std::pair<CbmTrdDigi*, CbmMatch*>>::iterator jv,
830  iv = fDigi->begin();
831 
832  while (iv != fDigi->end()) {
833  digi = iv->first;
834  dmatch = iv->second;
835  time =
836  (digi->GetTimeDAQ() - fStartTime); // digi time in [ns] from buffer start
837  // stop digi finalize
838  if (time > fProcTime) break;
839  r = digi->GetCharge(t, dt);
840  r /= 10.;
841  t /= 10.;
842  if (VERBOSE)
843  cout << " IN : " << digi->ToString() << " "
844  << dmatch->ToString();
845 
846  rADC = 0;
847  tADC = 0;
848  dtime = 0;
849  ddt = 0; /*mask=0; pileup=0;*/
850  trigger = 0;
851  hTime = 0;
852  while (it != lt) {
853  hTime = get<0>(*it);
854  if (VERBOSE)
855  printf(
856  " [T] htime[ns]=%d FT[ADC]=%4d ... \n", hTime, get<2>(*it));
857  if (hTime > time) break;
858  it++;
859  }
860  if (t > 0. && it != lt) {
861  csTime = get<1>(*it);
862  //printf("match T htime[%d] time[%d]\n", hTime, time);
863  if (hTime - time < 400) { // found converted hit
864  if (VERBOSE)
865  printf(" [T] ht[ns]=%4d CS[ns]=%4d FT[ADC]=%4u Trg[%s]\n",
866  hTime,
867  csTime,
868  get<2>(*it),
869  (get<3>(*it) ? "S" : "N"));
870  dtime = csTime;
871  tADC = get<2>(*it);
872  if (get<3>(*it)) trigger |= 1;
873  //if(csTime-hTime > 350) pileup = kTRUE; // 350 ns max peak time
874  it++;
875  } //else if(t>40.) mask=kTRUE; // hit not converted : possible under threshold, masked
876  // 40fC threshold
877  }
878 
879  time += dt;
880  hTime = 0;
881  while (jt != fDigiProc.end()) {
882  hTime = get<0>(*jt);
883  if (VERBOSE)
884  printf(
885  " [R] htime[ns]=%d FT[ADC]=%4d ...\n", hTime, get<2>(*jt));
886  if (hTime > time) break;
887  jt++;
888  }
889  if (r > 0. && jt != fDigiProc.end()) {
890  csTime = get<1>(*jt);
891  //printf("match R htime[%d] time[%d]\n", hTime, time);
892  if (hTime - time < 400) { // found converted hit
893  if (VERBOSE)
894  printf(" [R] ht[ns]=%4d CS[ns]=%4d FT[ADC]=%4u Trg[%s]\n",
895  hTime,
896  csTime,
897  get<2>(*jt),
898  (get<3>(*jt) ? "S" : "N"));
899  if (dtime) {
900  if (csTime > dtime)
901  ddt = TMath::Ceil(Int_t(csTime - dtime)
903  else
904  ddt = TMath::Floor(Int_t(csTime - dtime)
906  } else
907  dtime = csTime;
908  rADC = get<2>(*jt);
909  if (get<3>(*jt)) trigger |= 2;
910  //if(csTime-hTime > 350) pileup = kTRUE; // 350 ns max peak time
911  jt++;
912  } //else if(r>40.) mask=kTRUE; // hit not converted : possible under threshold, masked
913  // 40fC threshold
914  }
915 
916  //update digi
917  digi->SetMasked(1); // mark as processed
918  if (dtime) {
919  digi->SetTime(fStartTime + dtime);
920  digi->SetCharge(tADC, rADC, ddt);
921  digi->SetTriggerType(trigger);
922  if (VERBOSE) cout << " OUT: " << digi->ToString();
923  } else
924  digi->SetFlag(0, kTRUE); // mark for deletion
925  if (VERBOSE)
926  cout << " ===================================="
927  << "\n";
928  iv++;
929  }
930 
931  // try to merge digits
932  ULong64_t time0, time1;
933  Char_t type0, // prompt digi. kTRUE if rectangle
934  type1; // late digi. kTRUE if rectangle
935  for (iv = fDigi->begin(); iv != fDigi->end(); iv++) {
936  digi = iv->first;
937  if (digi->IsFlagged(0)) continue; // no output
938  if (!digi->IsMasked()) break; // not finalized
939  r0 = digi->GetCharge(t0, dt);
940  if (r0 > 0. && t0 > 0.) continue; // already complete
941  type0 = (r0 > 0. ? 1 : 0); // mark type for prompt digi
942  time0 = digi->GetTimeDAQ(); // mark time for prompt digi
943  for (jv = iv + 1; jv != fDigi->end(); jv++) {
944  digi1 = jv->first;
945  if (digi1->IsFlagged(0)) continue; // no output
946  r = digi1->GetCharge(t, dt);
947  if (r > 0. && t > 0.) continue; // already complete
948  type1 = (r > 0. ? 1 : 0); // mark type for late digi
949  time1 = digi1->GetTimeDAQ(); // mark time for late digi
950 
951  // try merge
952  if (type0 == type1) break; // same type
953  dt = time1 - time0;
954  if (dt > 7) break; // digits too far to be merged
955 
956  if (VERBOSE)
957  cout << "MERGE: " << digi->ToString() << " " << digi1->ToString();
958  if (type0) { // prompt digi rectangle
959  digi->SetTime(digi1->GetTime());
960  digi->SetCharge(t, r0, -dt);
961  Int_t rtrg(digi->GetTriggerType() & 2),
962  ttrg(digi1->GetTriggerType() & 1);
963  digi->SetTriggerType(rtrg | ttrg); //merge the triggers
964  } else { // prompt digi tilt
965  digi->SetCharge(t0, r, dt);
966  Int_t ttrg(digi->GetTriggerType() & 1),
967  rtrg(digi1->GetTriggerType() & 2);
968  digi->SetTriggerType(rtrg | ttrg); //merge the triggers
969  }
970  if (VERBOSE) cout << "RES : " << digi->ToString();
971 
972  digi1->SetFlag(0, kTRUE); // mark for deletion
973  break;
974  }
975  }
976 
977  // reset processed digi vector
978  fDigiProc.clear();
979  fNraw = 0;
980  fDigi = nullptr; //remove old link
981 }
982 
983 const Float_t CbmTrdFASP::fgkShaperPar[4] = {0.068, 26.1, 2.61, 50};
984 const Float_t CbmTrdFASP::fgkShaperLUT[SHAPER_LUT] = {
985  7.52e-04, 3.79e-03, 9.02e-03, 1.58e-02, 2.33e-02, 3.10e-02, 3.83e-02,
986  4.48e-02, 5.03e-02, 5.46e-02, 5.78e-02, 5.99e-02, 6.10e-02, 6.11e-02,
987  6.04e-02, 5.90e-02, 5.71e-02, 5.47e-02, 5.20e-02, 4.91e-02, 4.60e-02,
988  4.29e-02, 3.98e-02, 3.67e-02, 3.37e-02, 3.09e-02, 2.81e-02, 2.55e-02,
989  2.31e-02, 2.08e-02, 1.87e-02, 1.68e-02, 1.50e-02, 1.34e-02, 1.20e-02,
990  1.06e-02, 9.42e-03, 8.34e-03, 7.37e-03, 6.50e-03, 5.72e-03, 5.03e-03,
991  4.42e-03, 3.87e-03, 3.39e-03, 2.97e-03, 2.59e-03, 2.26e-03, 1.97e-03,
992  1.71e-03, 1.49e-03, 1.29e-03, 1.12e-03, 9.73e-04, 8.43e-04, 7.30e-04,
993  6.31e-04, 5.45e-04, 4.71e-04, 4.06e-04, 3.50e-04, 3.01e-04, 2.60e-04,
994  2.23e-04, 1.92e-04, 1.65e-04, 1.42e-04, 1.22e-04, 1.04e-04, 8.94e-05,
995  7.66e-05, 6.56e-05, 5.61e-05, 4.80e-05, 4.11e-05, 3.51e-05, 3.00e-05,
996  2.56e-05, 2.19e-05, 1.86e-05};
997 const Float_t CbmTrdFASP::fgkDecayLUT[SHAPER_LUT] = {
998  1.00e+00, 9.05e-01, 8.19e-01, 7.41e-01, 6.70e-01, 6.07e-01, 5.49e-01,
999  4.97e-01, 4.49e-01, 4.07e-01, 3.68e-01, 3.33e-01, 3.01e-01, 2.73e-01,
1000  2.47e-01, 2.23e-01, 2.02e-01, 1.83e-01, 1.65e-01, 1.50e-01, 1.35e-01,
1001  1.22e-01, 1.11e-01, 1.00e-01, 9.07e-02, 8.21e-02, 7.43e-02, 6.72e-02,
1002  6.08e-02, 5.50e-02, 4.98e-02, 4.50e-02, 4.08e-02, 3.69e-02, 3.34e-02,
1003  3.02e-02, 2.73e-02, 2.47e-02, 2.24e-02, 2.02e-02, 1.83e-02, 1.66e-02,
1004  1.50e-02, 1.36e-02, 1.23e-02, 1.11e-02, 1.01e-02, 9.10e-03, 8.23e-03,
1005  7.45e-03, 6.74e-03, 6.10e-03, 5.52e-03, 4.99e-03, 4.52e-03, 4.09e-03,
1006  3.70e-03, 3.35e-03, 3.03e-03, 2.74e-03, 2.48e-03, 2.24e-03, 2.03e-03,
1007  1.84e-03, 1.66e-03, 1.50e-03, 1.36e-03, 1.23e-03, 1.11e-03, 1.01e-03,
1008  9.12e-04, 8.25e-04, 7.47e-04, 6.76e-04, 6.11e-04, 5.53e-04, 5.00e-04,
1009  4.53e-04, 4.10e-04, 3.71e-04};
1010 const Float_t CbmTrdFASP::fgkCharge[CbmTrdFASP::fgkNDB] = {
1011  6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 66, 72, 78, 84,
1012  90, 96, 102, 108, 114, 120, 126, 132, 138, 144, 150, 156, 162, 168,
1013  180, 195, 210, 225, 240, 255, 270, 285, 300, 315, 330, 345, 360, 375,
1014  390, 405, 420, 435, 450, 465, 480, 495, 510, 525, 540};
1016  {// charge = 6 fC
1017  0.000, 0.000, 0.000, 0.001, 0.002, 0.004, 0.005, 0.007, 0.009,
1018  0.011, 0.012, 0.014, 0.015, 0.017, 0.018, 0.020, 0.021, 0.022,
1019  0.023, 0.024, 0.025, 0.025, 0.026, 0.027, 0.027, 0.028, 0.028,
1020  0.029, 0.029, 0.029, 0.029, 0.029, 0.029, 0.029, 0.029, 0.029,
1021  0.029, 0.029, 0.029, 0.029, 0.028, 0.028, 0.028, 0.027, 0.027,
1022  0.027, 0.026, 0.026, 0.025, 0.025, 0.024, 0.024, 0.024, 0.023,
1023  0.022, 0.022, 0.021, 0.021, 0.021, 0.020, 0.020, 0.019, 0.018,
1024  0.018, 0.017, 0.017, 0.016, 0.016, 0.016, 0.015, 0.015, 0.014,
1025  0.014, 0.013, 0.013, 0.012, 0.012, 0.011, 0.011, 0.011, 0.010,
1026  0.010, 0.009, 0.009, 0.009, 0.008, 0.008, 0.008, 0.007, 0.007,
1027  0.007, 0.006, 0.006, 0.006, 0.006, 0.005, 0.005, 0.005, 0.005,
1028  0.004, 0.004, 0.004, 0.004, 0.003, 0.003, 0.003, 0.003, 0.003,
1029  0.003, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002,
1030  0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,
1031  0.001, 0.001, 0.001, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
1032  0.000, 0.000, 0.000, 0.000, 0.000, 0.000, -0.000, -0.000, -0.000,
1033  -0.000, -0.000, -0.000, -0.000, -0.000, -0.000, -0.000, -0.000, -0.000,
1034  -0.000, -0.000, -0.000, -0.000, -0.000, -0.000, -0.000, -0.000, -0.000,
1035  -0.000, -0.000, -0.000, -0.000, -0.000, -0.000, -0.000, -0.000, -0.000,
1036  -0.000, -0.000, -0.000, -0.000, -0.000, -0.000, -0.000, -0.000, -0.000,
1037  -0.000, -0.000, -0.000, -0.000, -0.000, -0.000, -0.000, -0.000, -0.000,
1038  -0.000, -0.000, -0.000, -0.000, -0.000, -0.000, -0.000, -0.000, -0.000,
1039  -0.000, -0.000},
1040  {// charge = 12 fC
1041  0.000, 0.000, 0.001, 0.002, 0.004, 0.007, 0.011, 0.014, 0.017,
1042  0.021, 0.024, 0.027, 0.031, 0.034, 0.036, 0.039, 0.041, 0.044,
1043  0.046, 0.048, 0.049, 0.051, 0.052, 0.053, 0.055, 0.056, 0.056,
1044  0.057, 0.058, 0.058, 0.058, 0.059, 0.059, 0.059, 0.059, 0.058,
1045  0.058, 0.058, 0.058, 0.057, 0.057, 0.056, 0.055, 0.055, 0.054,
1046  0.053, 0.052, 0.052, 0.051, 0.050, 0.049, 0.048, 0.047, 0.046,
1047  0.045, 0.044, 0.043, 0.042, 0.041, 0.040, 0.039, 0.038, 0.037,
1048  0.036, 0.035, 0.034, 0.033, 0.032, 0.031, 0.030, 0.029, 0.028,
1049  0.027, 0.026, 0.025, 0.025, 0.024, 0.023, 0.022, 0.021, 0.020,
1050  0.020, 0.019, 0.018, 0.017, 0.017, 0.016, 0.015, 0.015, 0.014,
1051  0.013, 0.013, 0.012, 0.012, 0.011, 0.011, 0.010, 0.010, 0.009,
1052  0.009, 0.008, 0.008, 0.007, 0.007, 0.007, 0.006, 0.006, 0.006,
1053  0.005, 0.005, 0.005, 0.004, 0.004, 0.004, 0.003, 0.003, 0.003,
1054  0.003, 0.003, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.001,
1055  0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.000,
1056  0.000, 0.000, 0.000, 0.000, 0.000, -0.000, -0.000, -0.000, -0.000,
1057  -0.000, -0.000, -0.000, -0.000, -0.000, -0.000, -0.000, -0.001, -0.001,
1058  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1059  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1060  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1061  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.000, -0.000, -0.000,
1062  -0.000, -0.000, -0.000, -0.000, -0.000, -0.000, -0.000, -0.000, -0.000,
1063  -0.000, -0.000},
1064  {// charge = 18 fC
1065  0.000, -0.000, 0.001, 0.003, 0.007, 0.011, 0.016, 0.021, 0.026,
1066  0.031, 0.036, 0.041, 0.046, 0.050, 0.054, 0.058, 0.062, 0.065,
1067  0.068, 0.071, 0.074, 0.076, 0.078, 0.080, 0.082, 0.083, 0.085,
1068  0.086, 0.086, 0.087, 0.088, 0.088, 0.088, 0.088, 0.088, 0.088,
1069  0.087, 0.087, 0.086, 0.086, 0.085, 0.084, 0.083, 0.082, 0.081,
1070  0.080, 0.079, 0.077, 0.076, 0.075, 0.073, 0.072, 0.071, 0.069,
1071  0.068, 0.066, 0.065, 0.063, 0.062, 0.060, 0.058, 0.057, 0.055,
1072  0.054, 0.052, 0.051, 0.049, 0.048, 0.046, 0.045, 0.044, 0.042,
1073  0.041, 0.039, 0.038, 0.037, 0.035, 0.034, 0.033, 0.032, 0.031,
1074  0.029, 0.028, 0.027, 0.026, 0.025, 0.024, 0.023, 0.022, 0.021,
1075  0.020, 0.019, 0.018, 0.018, 0.017, 0.016, 0.015, 0.015, 0.014,
1076  0.013, 0.012, 0.012, 0.011, 0.011, 0.010, 0.009, 0.009, 0.008,
1077  0.008, 0.007, 0.007, 0.007, 0.006, 0.006, 0.005, 0.005, 0.005,
1078  0.004, 0.004, 0.004, 0.003, 0.003, 0.003, 0.003, 0.002, 0.002,
1079  0.002, 0.002, 0.002, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001,
1080  0.000, 0.000, 0.000, 0.000, 0.000, -0.000, -0.000, -0.000, -0.000,
1081  -0.000, -0.000, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1082  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1083  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1084  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1085  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1086  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1087  -0.001, -0.001},
1088  {// charge = 24 fC
1089  0.000, -0.000, 0.001, 0.004, 0.009, 0.015, 0.021, 0.028, 0.035,
1090  0.042, 0.049, 0.055, 0.061, 0.067, 0.073, 0.078, 0.083, 0.087,
1091  0.091, 0.095, 0.099, 0.102, 0.104, 0.107, 0.109, 0.111, 0.113,
1092  0.114, 0.115, 0.116, 0.117, 0.117, 0.118, 0.118, 0.117, 0.117,
1093  0.117, 0.116, 0.115, 0.114, 0.113, 0.112, 0.111, 0.109, 0.108,
1094  0.106, 0.105, 0.103, 0.101, 0.100, 0.098, 0.096, 0.094, 0.092,
1095  0.090, 0.088, 0.086, 0.084, 0.082, 0.080, 0.078, 0.076, 0.074,
1096  0.072, 0.070, 0.068, 0.066, 0.064, 0.062, 0.060, 0.058, 0.056,
1097  0.054, 0.053, 0.051, 0.049, 0.047, 0.046, 0.044, 0.042, 0.041,
1098  0.039, 0.038, 0.036, 0.035, 0.033, 0.032, 0.031, 0.029, 0.028,
1099  0.027, 0.026, 0.025, 0.023, 0.022, 0.021, 0.020, 0.019, 0.018,
1100  0.017, 0.016, 0.016, 0.015, 0.014, 0.013, 0.012, 0.012, 0.011,
1101  0.011, 0.010, 0.009, 0.009, 0.008, 0.008, 0.007, 0.007, 0.006,
1102  0.006, 0.005, 0.005, 0.004, 0.004, 0.004, 0.003, 0.003, 0.003,
1103  0.002, 0.002, 0.002, 0.002, 0.002, 0.001, 0.001, 0.001, 0.001,
1104  0.001, 0.000, 0.000, 0.000, 0.000, -0.000, -0.000, -0.000, -0.000,
1105  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1106  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1107  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1108  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1109  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1110  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1111  -0.001, -0.001},
1112  {// charge = 30 fC
1113  0.000, -0.000, 0.001, 0.005, 0.011, 0.018, 0.026, 0.035, 0.044,
1114  0.052, 0.061, 0.069, 0.076, 0.084, 0.091, 0.097, 0.103, 0.109,
1115  0.114, 0.119, 0.123, 0.127, 0.131, 0.134, 0.137, 0.139, 0.141,
1116  0.143, 0.144, 0.145, 0.146, 0.147, 0.147, 0.147, 0.147, 0.146,
1117  0.146, 0.145, 0.144, 0.143, 0.141, 0.140, 0.138, 0.137, 0.135,
1118  0.133, 0.131, 0.129, 0.127, 0.125, 0.122, 0.120, 0.118, 0.115,
1119  0.113, 0.110, 0.108, 0.105, 0.103, 0.100, 0.097, 0.095, 0.092,
1120  0.090, 0.087, 0.085, 0.082, 0.080, 0.077, 0.075, 0.073, 0.070,
1121  0.068, 0.066, 0.063, 0.061, 0.059, 0.057, 0.055, 0.053, 0.051,
1122  0.049, 0.047, 0.045, 0.044, 0.042, 0.040, 0.038, 0.037, 0.035,
1123  0.034, 0.032, 0.031, 0.029, 0.028, 0.027, 0.025, 0.024, 0.023,
1124  0.022, 0.021, 0.020, 0.019, 0.018, 0.017, 0.016, 0.015, 0.014,
1125  0.013, 0.012, 0.012, 0.011, 0.010, 0.009, 0.009, 0.008, 0.008,
1126  0.007, 0.007, 0.006, 0.006, 0.005, 0.005, 0.004, 0.004, 0.003,
1127  0.003, 0.003, 0.002, 0.002, 0.002, 0.002, 0.001, 0.001, 0.001,
1128  0.001, 0.001, 0.000, 0.000, 0.000, -0.000, -0.000, -0.000, -0.001,
1129  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1130  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1131  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1132  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1133  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1134  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1135  -0.001, -0.001},
1136  {// charge = 36 fC
1137  0.000, -0.000, 0.002, 0.006, 0.013, 0.022, 0.032, 0.042, 0.052,
1138  0.063, 0.073, 0.082, 0.092, 0.101, 0.109, 0.117, 0.124, 0.131,
1139  0.137, 0.143, 0.148, 0.153, 0.157, 0.160, 0.164, 0.167, 0.169,
1140  0.171, 0.173, 0.174, 0.175, 0.176, 0.176, 0.176, 0.176, 0.176,
1141  0.175, 0.174, 0.173, 0.171, 0.170, 0.168, 0.166, 0.164, 0.162,
1142  0.160, 0.157, 0.155, 0.152, 0.150, 0.147, 0.144, 0.141, 0.138,
1143  0.135, 0.132, 0.129, 0.126, 0.123, 0.120, 0.117, 0.114, 0.111,
1144  0.108, 0.105, 0.102, 0.099, 0.096, 0.093, 0.090, 0.087, 0.084,
1145  0.082, 0.079, 0.076, 0.074, 0.071, 0.068, 0.066, 0.064, 0.061,
1146  0.059, 0.057, 0.054, 0.052, 0.050, 0.048, 0.046, 0.044, 0.042,
1147  0.040, 0.039, 0.037, 0.035, 0.034, 0.032, 0.030, 0.029, 0.027,
1148  0.026, 0.025, 0.024, 0.022, 0.021, 0.020, 0.019, 0.018, 0.017,
1149  0.016, 0.015, 0.014, 0.013, 0.012, 0.011, 0.011, 0.010, 0.009,
1150  0.008, 0.008, 0.007, 0.007, 0.006, 0.006, 0.005, 0.005, 0.004,
1151  0.004, 0.003, 0.003, 0.003, 0.002, 0.002, 0.002, 0.001, 0.001,
1152  0.001, 0.001, 0.000, 0.000, 0.000, -0.000, -0.000, -0.000, -0.001,
1153  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1154  -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002,
1155  -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002,
1156  -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002,
1157  -0.002, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1158  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1159  -0.001, -0.001},
1160  {// charge = 42 fC
1161  0.000, -0.000, 0.002, 0.007, 0.016, 0.026, 0.037, 0.049, 0.061,
1162  0.073, 0.085, 0.096, 0.107, 0.117, 0.127, 0.136, 0.145, 0.152,
1163  0.160, 0.166, 0.173, 0.178, 0.183, 0.187, 0.191, 0.194, 0.197,
1164  0.200, 0.202, 0.203, 0.205, 0.205, 0.206, 0.206, 0.206, 0.205,
1165  0.204, 0.203, 0.202, 0.200, 0.198, 0.196, 0.194, 0.192, 0.189,
1166  0.186, 0.184, 0.181, 0.178, 0.174, 0.171, 0.168, 0.165, 0.161,
1167  0.158, 0.154, 0.151, 0.147, 0.144, 0.140, 0.137, 0.133, 0.129,
1168  0.126, 0.122, 0.119, 0.115, 0.112, 0.109, 0.105, 0.102, 0.099,
1169  0.095, 0.092, 0.089, 0.086, 0.083, 0.080, 0.077, 0.074, 0.071,
1170  0.069, 0.066, 0.063, 0.061, 0.058, 0.056, 0.054, 0.051, 0.049,
1171  0.047, 0.045, 0.043, 0.041, 0.039, 0.037, 0.035, 0.034, 0.032,
1172  0.030, 0.029, 0.027, 0.026, 0.024, 0.023, 0.022, 0.021, 0.020,
1173  0.018, 0.017, 0.016, 0.015, 0.014, 0.013, 0.012, 0.012, 0.011,
1174  0.010, 0.009, 0.008, 0.008, 0.007, 0.007, 0.006, 0.005, 0.005,
1175  0.004, 0.004, 0.003, 0.003, 0.003, 0.002, 0.002, 0.002, 0.001,
1176  0.001, 0.001, 0.001, 0.000, 0.000, -0.000, -0.000, -0.001, -0.001,
1177  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.002, -0.002, -0.002,
1178  -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002,
1179  -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002,
1180  -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002,
1181  -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002,
1182  -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001, -0.001,
1183  -0.001, -0.001},
1184  {// charge = 48 fC
1185  0.000, -0.000, 0.002, 0.008, 0.018, 0.029, 0.042, 0.056, 0.070,
1186  0.083, 0.097, 0.110, 0.122, 0.134, 0.145, 0.155, 0.165, 0.174,
1187  0.183, 0.190, 0.197, 0.203, 0.209, 0.214, 0.218, 0.222, 0.226,
1188  0.228, 0.231, 0.232, 0.234, 0.235, 0.235, 0.235, 0.235, 0.234,
1189  0.233, 0.232, 0.230, 0.229, 0.227, 0.224, 0.222, 0.219, 0.216,
1190  0.213, 0.210, 0.206, 0.203, 0.200, 0.196, 0.192, 0.188, 0.184,
1191  0.180, 0.176, 0.172, 0.168, 0.164, 0.160, 0.156, 0.152, 0.148,
1192  0.144, 0.140, 0.136, 0.132, 0.128, 0.124, 0.120, 0.116, 0.113,
1193  0.109, 0.105, 0.102, 0.098, 0.095, 0.091, 0.088, 0.085, 0.082,
1194  0.078, 0.076, 0.072, 0.070, 0.067, 0.064, 0.061, 0.059, 0.056,
1195  0.054, 0.051, 0.049, 0.047, 0.045, 0.043, 0.041, 0.039, 0.037,
1196  0.035, 0.033, 0.031, 0.030, 0.028, 0.026, 0.025, 0.024, 0.022,
1197  0.021, 0.020, 0.018, 0.017, 0.016, 0.015, 0.014, 0.013, 0.012,
1198  0.011, 0.011, 0.010, 0.009, 0.008, 0.007, 0.007, 0.006, 0.006,
1199  0.005, 0.004, 0.004, 0.003, 0.003, 0.003, 0.002, 0.002, 0.002,
1200  0.001, 0.001, 0.001, 0.000, 0.000, -0.000, -0.000, -0.001, -0.001,
1201  -0.001, -0.001, -0.001, -0.001, -0.002, -0.002, -0.002, -0.002, -0.002,
1202  -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002,
1203  -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002,
1204  -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002,
1205  -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002,
1206  -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.001, -0.001, -0.001,
1207  -0.001, -0.001},
1208  {// charge = 54 fC
1209  0.000, -0.000, 0.002, 0.009, 0.020, 0.033, 0.047, 0.063, 0.078,
1210  0.094, 0.109, 0.123, 0.137, 0.151, 0.163, 0.175, 0.186, 0.196,
1211  0.205, 0.214, 0.222, 0.229, 0.235, 0.241, 0.246, 0.250, 0.254,
1212  0.257, 0.259, 0.261, 0.263, 0.264, 0.264, 0.264, 0.264, 0.263,
1213  0.262, 0.261, 0.259, 0.257, 0.255, 0.252, 0.249, 0.247, 0.243,
1214  0.240, 0.236, 0.232, 0.229, 0.225, 0.220, 0.216, 0.212, 0.207,
1215  0.203, 0.198, 0.194, 0.189, 0.185, 0.180, 0.176, 0.171, 0.166,
1216  0.162, 0.157, 0.153, 0.148, 0.144, 0.140, 0.135, 0.131, 0.127,
1217  0.123, 0.118, 0.114, 0.110, 0.107, 0.103, 0.099, 0.095, 0.092,
1218  0.088, 0.085, 0.082, 0.078, 0.075, 0.072, 0.069, 0.066, 0.063,
1219  0.060, 0.058, 0.055, 0.053, 0.050, 0.048, 0.046, 0.043, 0.041,
1220  0.039, 0.037, 0.035, 0.034, 0.031, 0.030, 0.028, 0.027, 0.025,
1221  0.024, 0.022, 0.021, 0.020, 0.018, 0.017, 0.016, 0.015, 0.014,
1222  0.013, 0.012, 0.011, 0.010, 0.009, 0.008, 0.008, 0.007, 0.006,
1223  0.006, 0.005, 0.004, 0.004, 0.003, 0.003, 0.002, 0.002, 0.002,
1224  0.001, 0.001, 0.001, 0.000, 0.000, -0.000, -0.000, -0.001, -0.001,
1225  -0.001, -0.001, -0.001, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002,
1226  -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.003, -0.003,
1227  -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.002,
1228  -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002,
1229  -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002,
1230  -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002,
1231  -0.002, -0.002},
1232  {// charge = 60 fC
1233  0.000, -0.000, 0.002, 0.010, 0.022, 0.036, 0.053, 0.070, 0.087,
1234  0.104, 0.121, 0.137, 0.152, 0.167, 0.181, 0.194, 0.206, 0.218,
1235  0.228, 0.238, 0.246, 0.254, 0.261, 0.267, 0.273, 0.278, 0.282,
1236  0.285, 0.288, 0.290, 0.292, 0.293, 0.294, 0.294, 0.293, 0.293,
1237  0.292, 0.290, 0.288, 0.286, 0.283, 0.280, 0.277, 0.274, 0.270,
1238  0.266, 0.262, 0.258, 0.254, 0.249, 0.245, 0.240, 0.235, 0.230,
1239  0.225, 0.220, 0.215, 0.210, 0.205, 0.200, 0.195, 0.190, 0.185,
1240  0.180, 0.175, 0.170, 0.165, 0.160, 0.155, 0.150, 0.146, 0.141,
1241  0.136, 0.132, 0.127, 0.123, 0.118, 0.114, 0.110, 0.106, 0.102,
1242  0.098, 0.094, 0.091, 0.087, 0.083, 0.080, 0.077, 0.073, 0.070,
1243  0.067, 0.064, 0.061, 0.059, 0.056, 0.053, 0.051, 0.048, 0.046,
1244  0.044, 0.041, 0.039, 0.037, 0.035, 0.033, 0.031, 0.030, 0.028,
1245  0.026, 0.025, 0.023, 0.022, 0.020, 0.019, 0.018, 0.016, 0.015,
1246  0.014, 0.013, 0.012, 0.011, 0.010, 0.009, 0.008, 0.008, 0.007,
1247  0.006, 0.006, 0.005, 0.004, 0.004, 0.003, 0.003, 0.002, 0.002,
1248  0.002, 0.001, 0.001, 0.000, 0.000, -0.000, -0.001, -0.001, -0.001,
1249  -0.001, -0.001, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002,
1250  -0.002, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003,
1251  -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003,
1252  -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.002, -0.002,
1253  -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002,
1254  -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002,
1255  -0.002, -0.002},
1256  {// charge = 66 fC
1257  0.000, -0.000, 0.003, 0.011, 0.024, 0.040, 0.058, 0.076, 0.095,
1258  0.114, 0.133, 0.151, 0.168, 0.184, 0.199, 0.214, 0.227, 0.239,
1259  0.251, 0.261, 0.271, 0.279, 0.287, 0.294, 0.300, 0.305, 0.310,
1260  0.314, 0.317, 0.319, 0.321, 0.322, 0.323, 0.323, 0.323, 0.322,
1261  0.321, 0.319, 0.317, 0.314, 0.312, 0.308, 0.305, 0.301, 0.297,
1262  0.293, 0.289, 0.284, 0.279, 0.274, 0.269, 0.264, 0.259, 0.253,
1263  0.248, 0.243, 0.237, 0.231, 0.226, 0.220, 0.215, 0.209, 0.203,
1264  0.198, 0.192, 0.187, 0.181, 0.176, 0.171, 0.165, 0.160, 0.155,
1265  0.150, 0.145, 0.140, 0.135, 0.130, 0.126, 0.121, 0.117, 0.112,
1266  0.108, 0.104, 0.100, 0.096, 0.092, 0.088, 0.084, 0.081, 0.077,
1267  0.074, 0.071, 0.067, 0.064, 0.062, 0.059, 0.056, 0.053, 0.050,
1268  0.048, 0.045, 0.043, 0.041, 0.039, 0.036, 0.035, 0.032, 0.031,
1269  0.029, 0.027, 0.025, 0.024, 0.022, 0.021, 0.020, 0.018, 0.017,
1270  0.016, 0.014, 0.013, 0.012, 0.011, 0.010, 0.009, 0.008, 0.008,
1271  0.007, 0.006, 0.006, 0.005, 0.004, 0.004, 0.003, 0.003, 0.002,
1272  0.002, 0.001, 0.001, 0.000, 0.000, -0.000, -0.001, -0.001, -0.001,
1273  -0.001, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.003,
1274  -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003,
1275  -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003,
1276  -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003,
1277  -0.003, -0.003, -0.003, -0.003, -0.002, -0.002, -0.002, -0.002, -0.002,
1278  -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002,
1279  -0.002, -0.002},
1280  {// charge = 72 fC
1281  0.000, -0.000, 0.003, 0.012, 0.026, 0.044, 0.063, 0.083, 0.104,
1282  0.124, 0.145, 0.164, 0.183, 0.201, 0.217, 0.233, 0.247, 0.261,
1283  0.273, 0.285, 0.295, 0.305, 0.313, 0.321, 0.327, 0.333, 0.338,
1284  0.342, 0.346, 0.348, 0.350, 0.352, 0.353, 0.353, 0.352, 0.351,
1285  0.350, 0.348, 0.346, 0.343, 0.340, 0.336, 0.333, 0.329, 0.324,
1286  0.320, 0.315, 0.310, 0.305, 0.299, 0.294, 0.288, 0.282, 0.277,
1287  0.271, 0.265, 0.259, 0.253, 0.247, 0.240, 0.234, 0.228, 0.222,
1288  0.216, 0.210, 0.204, 0.198, 0.192, 0.186, 0.180, 0.175, 0.169,
1289  0.163, 0.158, 0.153, 0.147, 0.142, 0.137, 0.132, 0.127, 0.123,
1290  0.118, 0.113, 0.109, 0.104, 0.100, 0.096, 0.092, 0.088, 0.084,
1291  0.081, 0.077, 0.074, 0.070, 0.067, 0.064, 0.061, 0.058, 0.055,
1292  0.053, 0.049, 0.047, 0.044, 0.042, 0.040, 0.038, 0.035, 0.033,
1293  0.031, 0.030, 0.028, 0.026, 0.024, 0.023, 0.021, 0.020, 0.018,
1294  0.017, 0.016, 0.015, 0.013, 0.012, 0.011, 0.010, 0.009, 0.008,
1295  0.008, 0.007, 0.006, 0.005, 0.005, 0.004, 0.003, 0.003, 0.002,
1296  0.002, 0.001, 0.001, 0.001, 0.000, -0.000, -0.001, -0.001, -0.001,
1297  -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.003, -0.003, -0.003,
1298  -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003,
1299  -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003,
1300  -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003,
1301  -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.002,
1302  -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002,
1303  -0.002, -0.002},
1304  {// charge = 78 fC
1305  0.000, -0.000, 0.003, 0.013, 0.029, 0.047, 0.068, 0.090, 0.112,
1306  0.135, 0.156, 0.178, 0.198, 0.217, 0.235, 0.252, 0.268, 0.283,
1307  0.296, 0.309, 0.320, 0.330, 0.339, 0.347, 0.355, 0.361, 0.366,
1308  0.371, 0.375, 0.378, 0.380, 0.381, 0.382, 0.382, 0.382, 0.381,
1309  0.379, 0.377, 0.375, 0.372, 0.368, 0.365, 0.361, 0.356, 0.351,
1310  0.346, 0.341, 0.336, 0.330, 0.324, 0.318, 0.312, 0.306, 0.300,
1311  0.293, 0.287, 0.280, 0.274, 0.267, 0.260, 0.254, 0.247, 0.240,
1312  0.234, 0.227, 0.221, 0.214, 0.208, 0.202, 0.195, 0.189, 0.183,
1313  0.177, 0.171, 0.165, 0.160, 0.154, 0.149, 0.143, 0.138, 0.133,
1314  0.128, 0.123, 0.118, 0.113, 0.109, 0.104, 0.100, 0.096, 0.091,
1315  0.087, 0.084, 0.080, 0.076, 0.073, 0.069, 0.066, 0.063, 0.060,
1316  0.057, 0.053, 0.051, 0.048, 0.046, 0.043, 0.041, 0.038, 0.036,
1317  0.034, 0.032, 0.030, 0.028, 0.026, 0.025, 0.023, 0.021, 0.020,
1318  0.018, 0.017, 0.016, 0.015, 0.013, 0.012, 0.011, 0.010, 0.009,
1319  0.008, 0.007, 0.007, 0.006, 0.005, 0.004, 0.004, 0.003, 0.002,
1320  0.002, 0.001, 0.001, 0.001, 0.000, -0.000, -0.001, -0.001, -0.001,
1321  -0.002, -0.002, -0.002, -0.002, -0.002, -0.003, -0.003, -0.003, -0.003,
1322  -0.003, -0.003, -0.003, -0.003, -0.004, -0.004, -0.004, -0.004, -0.004,
1323  -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004,
1324  -0.004, -0.004, -0.004, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003,
1325  -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003,
1326  -0.003, -0.003, -0.003, -0.002, -0.002, -0.002, -0.002, -0.002, -0.002,
1327  -0.002, -0.002},
1328  {// charge = 84 fC
1329  0.000, -0.000, 0.003, 0.014, 0.031, 0.051, 0.073, 0.097, 0.121,
1330  0.145, 0.168, 0.191, 0.213, 0.234, 0.253, 0.271, 0.288, 0.304,
1331  0.319, 0.332, 0.344, 0.355, 0.365, 0.374, 0.382, 0.389, 0.395,
1332  0.399, 0.403, 0.407, 0.409, 0.410, 0.411, 0.412, 0.411, 0.410,
1333  0.408, 0.406, 0.403, 0.400, 0.397, 0.393, 0.388, 0.384, 0.379,
1334  0.373, 0.368, 0.362, 0.356, 0.349, 0.343, 0.336, 0.330, 0.323,
1335  0.316, 0.309, 0.302, 0.295, 0.288, 0.280, 0.273, 0.266, 0.259,
1336  0.252, 0.245, 0.238, 0.231, 0.224, 0.217, 0.210, 0.204, 0.197,
1337  0.191, 0.184, 0.178, 0.172, 0.166, 0.160, 0.154, 0.149, 0.143,
1338  0.137, 0.132, 0.127, 0.122, 0.117, 0.112, 0.108, 0.103, 0.099,
1339  0.094, 0.090, 0.086, 0.082, 0.078, 0.075, 0.071, 0.067, 0.064,
1340  0.062, 0.058, 0.055, 0.052, 0.049, 0.046, 0.044, 0.041, 0.039,
1341  0.037, 0.035, 0.032, 0.030, 0.028, 0.026, 0.025, 0.023, 0.021,
1342  0.020, 0.018, 0.017, 0.016, 0.014, 0.013, 0.012, 0.011, 0.010,
1343  0.009, 0.008, 0.007, 0.006, 0.005, 0.005, 0.004, 0.003, 0.003,
1344  0.002, 0.002, 0.001, 0.001, 0.000, -0.000, -0.001, -0.001, -0.001,
1345  -0.002, -0.002, -0.002, -0.002, -0.003, -0.003, -0.003, -0.003, -0.003,
1346  -0.003, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004,
1347  -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004,
1348  -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.003,
1349  -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003,
1350  -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.002, -0.002, -0.002,
1351  -0.002, -0.002},
1352  {// charge = 90 fC
1353  0.000, -0.000, 0.004, 0.015, 0.033, 0.054, 0.078, 0.104, 0.129,
1354  0.155, 0.180, 0.205, 0.228, 0.250, 0.271, 0.291, 0.309, 0.326,
1355  0.341, 0.356, 0.369, 0.381, 0.391, 0.401, 0.409, 0.416, 0.423,
1356  0.428, 0.432, 0.436, 0.438, 0.440, 0.441, 0.441, 0.440, 0.439,
1357  0.438, 0.435, 0.432, 0.429, 0.425, 0.421, 0.416, 0.411, 0.406,
1358  0.400, 0.394, 0.388, 0.381, 0.374, 0.368, 0.360, 0.353, 0.346,
1359  0.339, 0.331, 0.323, 0.316, 0.308, 0.301, 0.293, 0.285, 0.277,
1360  0.270, 0.262, 0.255, 0.247, 0.240, 0.233, 0.225, 0.218, 0.211,
1361  0.204, 0.198, 0.191, 0.184, 0.178, 0.171, 0.165, 0.159, 0.153,
1362  0.147, 0.142, 0.136, 0.131, 0.125, 0.120, 0.115, 0.110, 0.105,
1363  0.101, 0.096, 0.092, 0.088, 0.084, 0.080, 0.076, 0.072, 0.069,
1364  0.066, 0.062, 0.059, 0.056, 0.053, 0.050, 0.047, 0.044, 0.042,
1365  0.039, 0.037, 0.035, 0.032, 0.030, 0.029, 0.026, 0.025, 0.023,
1366  0.021, 0.020, 0.018, 0.017, 0.015, 0.014, 0.013, 0.012, 0.011,
1367  0.009, 0.008, 0.007, 0.007, 0.006, 0.005, 0.004, 0.003, 0.003,
1368  0.002, 0.002, 0.001, 0.001, 0.000, -0.000, -0.001, -0.001, -0.002,
1369  -0.002, -0.002, -0.002, -0.003, -0.003, -0.003, -0.003, -0.003, -0.004,
1370  -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004,
1371  -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004,
1372  -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004,
1373  -0.004, -0.004, -0.004, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003,
1374  -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003,
1375  -0.002, -0.002},
1376  {// charge = 96 fC
1377  0.000, -0.000, 0.004, 0.016, 0.035, 0.058, 0.083, 0.110, 0.138,
1378  0.165, 0.192, 0.218, 0.243, 0.266, 0.289, 0.310, 0.329, 0.347,
1379  0.364, 0.379, 0.393, 0.406, 0.417, 0.427, 0.436, 0.444, 0.451,
1380  0.456, 0.461, 0.465, 0.467, 0.469, 0.470, 0.470, 0.470, 0.469,
1381  0.467, 0.464, 0.461, 0.458, 0.453, 0.449, 0.444, 0.439, 0.433,
1382  0.427, 0.420, 0.414, 0.407, 0.399, 0.392, 0.385, 0.377, 0.369,
1383  0.361, 0.353, 0.345, 0.337, 0.329, 0.321, 0.312, 0.304, 0.296,
1384  0.288, 0.280, 0.272, 0.264, 0.256, 0.248, 0.241, 0.233, 0.225,
1385  0.218, 0.211, 0.204, 0.197, 0.190, 0.183, 0.176, 0.170, 0.163,
1386  0.157, 0.151, 0.145, 0.139, 0.134, 0.128, 0.123, 0.118, 0.113,
1387  0.108, 0.103, 0.098, 0.094, 0.089, 0.085, 0.081, 0.077, 0.073,
1388  0.070, 0.066, 0.063, 0.059, 0.056, 0.053, 0.050, 0.047, 0.045,
1389  0.042, 0.039, 0.037, 0.035, 0.032, 0.030, 0.028, 0.026, 0.025,
1390  0.023, 0.021, 0.019, 0.018, 0.016, 0.015, 0.014, 0.012, 0.011,
1391  0.010, 0.009, 0.008, 0.007, 0.006, 0.005, 0.004, 0.004, 0.003,
1392  0.002, 0.002, 0.001, 0.001, 0.000, -0.000, -0.001, -0.001, -0.002,
1393  -0.002, -0.002, -0.003, -0.003, -0.003, -0.003, -0.003, -0.004, -0.004,
1394  -0.004, -0.004, -0.004, -0.004, -0.004, -0.005, -0.005, -0.005, -0.005,
1395  -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005,
1396  -0.005, -0.005, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004,
1397  -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.003, -0.003, -0.003,
1398  -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003,
1399  -0.003, -0.003},
1400  {// charge = 102 fC
1401  0.000, -0.000, 0.004, 0.017, 0.037, 0.061, 0.088, 0.117, 0.146,
1402  0.175, 0.204, 0.231, 0.258, 0.283, 0.307, 0.329, 0.350, 0.369,
1403  0.387, 0.403, 0.418, 0.431, 0.443, 0.454, 0.464, 0.472, 0.479,
1404  0.485, 0.490, 0.494, 0.497, 0.498, 0.500, 0.500, 0.499, 0.498,
1405  0.496, 0.493, 0.490, 0.486, 0.482, 0.477, 0.472, 0.466, 0.460,
1406  0.453, 0.447, 0.439, 0.432, 0.425, 0.417, 0.409, 0.401, 0.392,
1407  0.384, 0.375, 0.367, 0.358, 0.349, 0.341, 0.332, 0.323, 0.315,
1408  0.306, 0.297, 0.289, 0.280, 0.272, 0.264, 0.256, 0.247, 0.240,
1409  0.232, 0.224, 0.216, 0.209, 0.202, 0.194, 0.187, 0.180, 0.174,
1410  0.167, 0.161, 0.154, 0.148, 0.142, 0.136, 0.131, 0.125, 0.120,
1411  0.114, 0.109, 0.104, 0.100, 0.095, 0.091, 0.086, 0.082, 0.078,
1412  0.075, 0.070, 0.067, 0.063, 0.060, 0.056, 0.053, 0.050, 0.047,
1413  0.045, 0.042, 0.039, 0.037, 0.035, 0.032, 0.030, 0.028, 0.026,
1414  0.024, 0.022, 0.021, 0.019, 0.017, 0.016, 0.015, 0.013, 0.012,
1415  0.011, 0.010, 0.008, 0.007, 0.007, 0.006, 0.005, 0.004, 0.003,
1416  0.002, 0.002, 0.001, 0.001, 0.000, -0.000, -0.001, -0.001, -0.002,
1417  -0.002, -0.002, -0.003, -0.003, -0.003, -0.003, -0.004, -0.004, -0.004,
1418  -0.004, -0.004, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005,
1419  -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005,
1420  -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.004, -0.004, -0.004,
1421  -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004,
1422  -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003,
1423  -0.003, -0.003},
1424  {// charge = 108 fC
1425  0.000, -0.000, 0.004, 0.018, 0.039, 0.065, 0.093, 0.124, 0.155,
1426  0.185, 0.215, 0.245, 0.273, 0.299, 0.324, 0.348, 0.370, 0.390,
1427  0.409, 0.427, 0.442, 0.457, 0.469, 0.481, 0.491, 0.500, 0.507,
1428  0.513, 0.519, 0.523, 0.526, 0.528, 0.529, 0.529, 0.529, 0.527,
1429  0.525, 0.522, 0.519, 0.515, 0.510, 0.505, 0.500, 0.493, 0.487,
1430  0.480, 0.473, 0.465, 0.458, 0.450, 0.441, 0.433, 0.424, 0.415,
1431  0.406, 0.397, 0.388, 0.379, 0.370, 0.361, 0.352, 0.342, 0.333,
1432  0.324, 0.315, 0.306, 0.297, 0.288, 0.279, 0.271, 0.262, 0.254,
1433  0.245, 0.237, 0.229, 0.221, 0.214, 0.206, 0.198, 0.191, 0.184,
1434  0.177, 0.170, 0.163, 0.157, 0.150, 0.144, 0.138, 0.132, 0.127,
1435  0.121, 0.116, 0.111, 0.105, 0.101, 0.096, 0.091, 0.087, 0.083,
1436  0.079, 0.074, 0.070, 0.067, 0.063, 0.060, 0.056, 0.053, 0.050,
1437  0.047, 0.044, 0.042, 0.039, 0.036, 0.034, 0.032, 0.030, 0.027,
1438  0.025, 0.024, 0.022, 0.020, 0.018, 0.017, 0.015, 0.014, 0.013,
1439  0.011, 0.010, 0.009, 0.008, 0.007, 0.006, 0.005, 0.004, 0.003,
1440  0.003, 0.002, 0.001, 0.001, 0.000, -0.001, -0.001, -0.001, -0.002,
1441  -0.002, -0.003, -0.003, -0.003, -0.003, -0.004, -0.004, -0.004, -0.004,
1442  -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005,
1443  -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005,
1444  -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005,
1445  -0.005, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004,
1446  -0.004, -0.004, -0.004, -0.003, -0.003, -0.003, -0.003, -0.003, -0.003,
1447  -0.003, -0.003},
1448  {// charge = 114 fC
1449  0.000, -0.000, 0.004, 0.019, 0.041, 0.068, 0.098, 0.130, 0.163,
1450  0.195, 0.227, 0.258, 0.288, 0.316, 0.342, 0.367, 0.390, 0.412,
1451  0.432, 0.450, 0.467, 0.482, 0.495, 0.507, 0.518, 0.527, 0.535,
1452  0.542, 0.547, 0.552, 0.555, 0.557, 0.558, 0.559, 0.558, 0.557,
1453  0.554, 0.551, 0.548, 0.544, 0.539, 0.533, 0.527, 0.521, 0.514,
1454  0.507, 0.499, 0.491, 0.483, 0.475, 0.466, 0.457, 0.448, 0.439,
1455  0.429, 0.420, 0.410, 0.400, 0.391, 0.381, 0.371, 0.362, 0.352,
1456  0.342, 0.333, 0.323, 0.314, 0.304, 0.295, 0.286, 0.277, 0.268,
1457  0.259, 0.250, 0.242, 0.234, 0.225, 0.217, 0.209, 0.202, 0.194,
1458  0.187, 0.179, 0.173, 0.166, 0.159, 0.152, 0.146, 0.140, 0.134,
1459  0.128, 0.122, 0.117, 0.112, 0.106, 0.101, 0.096, 0.092, 0.087,
1460  0.083, 0.078, 0.074, 0.071, 0.067, 0.063, 0.060, 0.056, 0.053,
1461  0.050, 0.047, 0.044, 0.041, 0.039, 0.036, 0.034, 0.031, 0.029,
1462  0.027, 0.025, 0.023, 0.021, 0.019, 0.018, 0.016, 0.015, 0.013,
1463  0.012, 0.011, 0.009, 0.008, 0.007, 0.006, 0.005, 0.004, 0.003,
1464  0.003, 0.002, 0.001, 0.001, 0.000, -0.001, -0.001, -0.002, -0.002,
1465  -0.002, -0.003, -0.003, -0.003, -0.004, -0.004, -0.004, -0.004, -0.005,
1466  -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.006, -0.006,
1467  -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.005,
1468  -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005,
1469  -0.005, -0.005, -0.005, -0.005, -0.004, -0.004, -0.004, -0.004, -0.004,
1470  -0.004, -0.004, -0.004, -0.004, -0.004, -0.003, -0.003, -0.003, -0.003,
1471  -0.003, -0.003},
1472  {// charge = 120 fC
1473  0.000, -0.000, 0.005, 0.020, 0.043, 0.072, 0.103, 0.137, 0.171,
1474  0.205, 0.239, 0.271, 0.302, 0.332, 0.360, 0.386, 0.411, 0.433,
1475  0.454, 0.474, 0.491, 0.507, 0.521, 0.534, 0.545, 0.555, 0.563,
1476  0.570, 0.576, 0.581, 0.584, 0.586, 0.588, 0.588, 0.587, 0.586,
1477  0.584, 0.581, 0.577, 0.572, 0.567, 0.561, 0.555, 0.548, 0.541,
1478  0.534, 0.526, 0.517, 0.509, 0.500, 0.491, 0.481, 0.472, 0.462,
1479  0.452, 0.442, 0.432, 0.422, 0.411, 0.401, 0.391, 0.381, 0.371,
1480  0.360, 0.350, 0.340, 0.330, 0.320, 0.311, 0.301, 0.291, 0.282,
1481  0.273, 0.264, 0.255, 0.246, 0.237, 0.229, 0.220, 0.212, 0.204,
1482  0.197, 0.189, 0.182, 0.174, 0.167, 0.160, 0.154, 0.147, 0.141,
1483  0.135, 0.129, 0.123, 0.117, 0.112, 0.107, 0.101, 0.097, 0.092,
1484  0.088, 0.082, 0.078, 0.074, 0.070, 0.066, 0.063, 0.059, 0.056,
1485  0.052, 0.049, 0.046, 0.043, 0.041, 0.038, 0.035, 0.033, 0.031,
1486  0.028, 0.026, 0.024, 0.022, 0.021, 0.019, 0.017, 0.016, 0.014,
1487  0.013, 0.011, 0.010, 0.009, 0.008, 0.007, 0.006, 0.005, 0.004,
1488  0.003, 0.002, 0.001, 0.001, 0.000, -0.001, -0.001, -0.002, -0.002,
1489  -0.002, -0.003, -0.003, -0.004, -0.004, -0.004, -0.005, -0.005, -0.005,
1490  -0.005, -0.005, -0.005, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006,
1491  -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006,
1492  -0.006, -0.006, -0.006, -0.006, -0.005, -0.005, -0.005, -0.005, -0.005,
1493  -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.004, -0.004, -0.004,
1494  -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.003, -0.003,
1495  -0.003, -0.003},
1496  {// charge = 126 fC
1497  0.000, -0.000, 0.005, 0.021, 0.045, 0.075, 0.108, 0.143, 0.179,
1498  0.215, 0.250, 0.284, 0.317, 0.348, 0.378, 0.405, 0.431, 0.455,
1499  0.477, 0.497, 0.515, 0.532, 0.547, 0.560, 0.572, 0.583, 0.591,
1500  0.599, 0.605, 0.610, 0.613, 0.616, 0.617, 0.617, 0.617, 0.615,
1501  0.613, 0.610, 0.606, 0.601, 0.596, 0.590, 0.583, 0.576, 0.568,
1502  0.560, 0.552, 0.543, 0.534, 0.525, 0.515, 0.505, 0.495, 0.485,
1503  0.475, 0.464, 0.453, 0.443, 0.432, 0.421, 0.411, 0.400, 0.389,
1504  0.378, 0.368, 0.357, 0.347, 0.336, 0.326, 0.316, 0.306, 0.296,
1505  0.286, 0.277, 0.267, 0.258, 0.249, 0.240, 0.232, 0.223, 0.215,
1506  0.206, 0.198, 0.191, 0.183, 0.176, 0.169, 0.161, 0.155, 0.148,
1507  0.141, 0.135, 0.129, 0.123, 0.118, 0.112, 0.107, 0.101, 0.096,
1508  0.092, 0.086, 0.082, 0.078, 0.074, 0.070, 0.066, 0.062, 0.058,
1509  0.055, 0.052, 0.049, 0.045, 0.043, 0.040, 0.037, 0.035, 0.032,
1510  0.030, 0.027, 0.025, 0.023, 0.021, 0.020, 0.018, 0.016, 0.015,
1511  0.013, 0.012, 0.010, 0.009, 0.008, 0.007, 0.006, 0.005, 0.004,
1512  0.003, 0.002, 0.001, 0.001, 0.000, -0.001, -0.001, -0.002, -0.002,
1513  -0.003, -0.003, -0.003, -0.004, -0.004, -0.004, -0.005, -0.005, -0.005,
1514  -0.005, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006,
1515  -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006,
1516  -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.005, -0.005,
1517  -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005,
1518  -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004,
1519  -0.003, -0.003},
1520  {// charge = 132 fC
1521  0.000, -0.000, 0.005, 0.022, 0.047, 0.078, 0.113, 0.150, 0.188,
1522  0.225, 0.262, 0.298, 0.332, 0.365, 0.395, 0.424, 0.451, 0.476,
1523  0.499, 0.520, 0.540, 0.557, 0.573, 0.587, 0.599, 0.610, 0.619,
1524  0.627, 0.634, 0.639, 0.642, 0.645, 0.647, 0.647, 0.646, 0.645,
1525  0.642, 0.639, 0.635, 0.630, 0.624, 0.618, 0.611, 0.604, 0.596,
1526  0.587, 0.578, 0.569, 0.560, 0.550, 0.540, 0.529, 0.519, 0.508,
1527  0.497, 0.486, 0.475, 0.464, 0.453, 0.441, 0.430, 0.419, 0.408,
1528  0.397, 0.385, 0.374, 0.363, 0.353, 0.342, 0.331, 0.321, 0.310,
1529  0.300, 0.290, 0.280, 0.271, 0.261, 0.252, 0.243, 0.234, 0.225,
1530  0.216, 0.208, 0.200, 0.192, 0.184, 0.177, 0.169, 0.162, 0.155,
1531  0.148, 0.142, 0.135, 0.129, 0.123, 0.117, 0.112, 0.106, 0.101,
1532  0.097, 0.091, 0.086, 0.082, 0.077, 0.073, 0.069, 0.065, 0.061,
1533  0.058, 0.054, 0.051, 0.048, 0.045, 0.042, 0.039, 0.036, 0.034,
1534  0.031, 0.029, 0.027, 0.025, 0.022, 0.021, 0.019, 0.017, 0.015,
1535  0.014, 0.012, 0.011, 0.010, 0.008, 0.007, 0.006, 0.005, 0.004,
1536  0.003, 0.002, 0.002, 0.001, 0.000, -0.001, -0.001, -0.002, -0.002,
1537  -0.003, -0.003, -0.004, -0.004, -0.004, -0.005, -0.005, -0.005, -0.005,
1538  -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006,
1539  -0.007, -0.007, -0.007, -0.007, -0.007, -0.006, -0.006, -0.006, -0.006,
1540  -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006,
1541  -0.006, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005,
1542  -0.005, -0.005, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004, -0.004,
1543  -0.004, -0.004},
1544  {// charge = 138 fC
1545  0.000, -0.000, 0.005, 0.023, 0.049, 0.081, 0.118, 0.156, 0.196,
1546  0.235, 0.274, 0.311, 0.347, 0.381, 0.413, 0.443, 0.471, 0.497,
1547  0.522, 0.544, 0.564, 0.582, 0.599, 0.614, 0.626, 0.638, 0.647,
1548  0.656, 0.662, 0.668, 0.672, 0.674, 0.676, 0.676, 0.676, 0.674,
1549  0.671, 0.668, 0.663, 0.658, 0.653, 0.646, 0.639, 0.631, 0.623,
1550  0.614, 0.605, 0.595, 0.585, 0.575, 0.564, 0.554, 0.543, 0.531,
1551  0.520, 0.509, 0.497, 0.485, 0.473, 0.462, 0.450, 0.438, 0.426,
1552  0.415, 0.403, 0.391, 0.380, 0.369, 0.357, 0.346, 0.335, 0.325,
1553  0.314, 0.303, 0.293, 0.283, 0.273, 0.263, 0.254, 0.244, 0.235,
1554  0.226, 0.218, 0.209, 0.201, 0.193, 0.185, 0.177, 0.169, 0.162,
1555  0.155, 0.148, 0.141, 0.135, 0.129, 0.123, 0.117, 0.111, 0.106,
1556  0.101, 0.095, 0.090, 0.085, 0.081, 0.076, 0.072, 0.068, 0.064,
1557  0.060, 0.057, 0.053, 0.050, 0.047, 0.044, 0.041, 0.038, 0.035,
1558  0.033, 0.030, 0.028, 0.026, 0.024, 0.021, 0.020, 0.018, 0.016,
1559  0.014, 0.013, 0.011, 0.010, 0.009, 0.007, 0.006, 0.005, 0.004,
1560  0.003, 0.002, 0.002, 0.001, 0.000, -0.001, -0.001, -0.002, -0.002,
1561  -0.003, -0.003, -0.004, -0.004, -0.005, -0.005, -0.005, -0.005, -0.006,
1562  -0.006, -0.006, -0.006, -0.006, -0.006, -0.007, -0.007, -0.007, -0.007,
1563  -0.007, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007,
1564  -0.007, -0.007, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006,
1565  -0.006, -0.006, -0.006, -0.006, -0.005, -0.005, -0.005, -0.005, -0.005,
1566  -0.005, -0.005, -0.005, -0.005, -0.004, -0.004, -0.004, -0.004, -0.004,
1567  -0.004, -0.004},
1568  {// charge = 144 fC
1569  0.000, -0.000, 0.006, 0.024, 0.051, 0.085, 0.123, 0.163, 0.204,
1570  0.245, 0.285, 0.324, 0.361, 0.397, 0.430, 0.462, 0.491, 0.519,
1571  0.544, 0.567, 0.588, 0.607, 0.625, 0.640, 0.654, 0.665, 0.676,
1572  0.684, 0.691, 0.697, 0.701, 0.704, 0.705, 0.706, 0.705, 0.703,
1573  0.701, 0.697, 0.692, 0.687, 0.681, 0.674, 0.667, 0.659, 0.650,
1574  0.641, 0.631, 0.621, 0.611, 0.600, 0.589, 0.578, 0.566, 0.555,
1575  0.543, 0.531, 0.519, 0.506, 0.494, 0.482, 0.470, 0.457, 0.445,
1576  0.433, 0.421, 0.409, 0.397, 0.385, 0.373, 0.362, 0.350, 0.339,
1577  0.328, 0.317, 0.306, 0.295, 0.285, 0.275, 0.265, 0.255, 0.246,
1578  0.236, 0.227, 0.218, 0.210, 0.201, 0.193, 0.185, 0.177, 0.169,
1579  0.162, 0.155, 0.148, 0.141, 0.134, 0.128, 0.122, 0.116, 0.110,
1580  0.105, 0.099, 0.094, 0.089, 0.084, 0.080, 0.075, 0.071, 0.067,
1581  0.063, 0.059, 0.055, 0.052, 0.049, 0.045, 0.042, 0.039, 0.037,
1582  0.034, 0.031, 0.029, 0.027, 0.025, 0.022, 0.020, 0.019, 0.017,
1583  0.015, 0.013, 0.012, 0.011, 0.009, 0.008, 0.007, 0.006, 0.004,
1584  0.003, 0.002, 0.002, 0.001, 0.000, -0.001, -0.001, -0.002, -0.002,
1585  -0.003, -0.003, -0.004, -0.004, -0.005, -0.005, -0.005, -0.006, -0.006,
1586  -0.006, -0.006, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007,
1587  -0.007, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007,
1588  -0.007, -0.007, -0.007, -0.007, -0.007, -0.006, -0.006, -0.006, -0.006,
1589  -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.005, -0.005, -0.005,
1590  -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.004, -0.004, -0.004,
1591  -0.004, -0.004},
1592  {// charge = 150 fC
1593  0.000, -0.000, 0.006, 0.025, 0.053, 0.088, 0.127, 0.169, 0.212,
1594  0.255, 0.296, 0.337, 0.376, 0.413, 0.448, 0.481, 0.512, 0.540,
1595  0.566, 0.591, 0.613, 0.633, 0.650, 0.666, 0.681, 0.693, 0.704,
1596  0.712, 0.720, 0.726, 0.730, 0.733, 0.735, 0.735, 0.734, 0.733,
1597  0.730, 0.726, 0.721, 0.716, 0.709, 0.702, 0.695, 0.686, 0.677,
1598  0.668, 0.658, 0.647, 0.637, 0.625, 0.614, 0.602, 0.590, 0.578,
1599  0.566, 0.553, 0.540, 0.528, 0.515, 0.502, 0.489, 0.476, 0.464,
1600  0.451, 0.438, 0.426, 0.413, 0.401, 0.389, 0.377, 0.365, 0.353,
1601  0.341, 0.330, 0.319, 0.308, 0.297, 0.286, 0.276, 0.266, 0.256,
1602  0.246, 0.237, 0.227, 0.218, 0.209, 0.201, 0.192, 0.184, 0.176,
1603  0.169, 0.161, 0.154, 0.147, 0.140, 0.133, 0.127, 0.121, 0.115,
1604  0.110, 0.103, 0.098, 0.093, 0.088, 0.083, 0.078, 0.074, 0.070,
1605  0.066, 0.062, 0.058, 0.054, 0.051, 0.047, 0.044, 0.041, 0.038,
1606  0.035, 0.033, 0.030, 0.028, 0.026, 0.023, 0.021, 0.019, 0.017,
1607  0.016, 0.014, 0.012, 0.011, 0.009, 0.008, 0.007, 0.006, 0.005,
1608  0.004, 0.003, 0.002, 0.001, 0.000, -0.001, -0.001, -0.002, -0.003,
1609  -0.003, -0.004, -0.004, -0.005, -0.005, -0.005, -0.006, -0.006, -0.006,
1610  -0.006, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007,
1611  -0.007, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007,
1612  -0.007, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007, -0.006,
1613  -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.005,
1614  -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.004,
1615  -0.004, -0.004},
1616  {// charge = 156 fC
1617  0.000, -0.001, 0.006, 0.025, 0.055, 0.091, 0.132, 0.176, 0.220,
1618  0.264, 0.308, 0.350, 0.390, 0.429, 0.465, 0.500, 0.532, 0.561,
1619  0.589, 0.614, 0.637, 0.658, 0.676, 0.693, 0.708, 0.721, 0.732,
1620  0.741, 0.749, 0.755, 0.759, 0.762, 0.764, 0.765, 0.764, 0.762,
1621  0.759, 0.755, 0.750, 0.744, 0.738, 0.731, 0.722, 0.714, 0.704,
1622  0.695, 0.684, 0.673, 0.662, 0.651, 0.639, 0.626, 0.614, 0.601,
1623  0.588, 0.575, 0.562, 0.549, 0.536, 0.522, 0.509, 0.496, 0.482,
1624  0.469, 0.456, 0.443, 0.430, 0.417, 0.404, 0.392, 0.379, 0.367,
1625  0.355, 0.343, 0.332, 0.320, 0.309, 0.298, 0.287, 0.276, 0.266,
1626  0.256, 0.246, 0.237, 0.227, 0.218, 0.209, 0.200, 0.192, 0.183,
1627  0.175, 0.168, 0.160, 0.153, 0.146, 0.139, 0.132, 0.126, 0.119,
1628  0.114, 0.107, 0.102, 0.097, 0.091, 0.086, 0.082, 0.077, 0.072,
1629  0.068, 0.064, 0.060, 0.056, 0.053, 0.049, 0.046, 0.043, 0.040,
1630  0.037, 0.034, 0.031, 0.029, 0.027, 0.024, 0.022, 0.020, 0.018,
1631  0.016, 0.015, 0.013, 0.011, 0.010, 0.008, 0.007, 0.006, 0.005,
1632  0.004, 0.003, 0.002, 0.001, 0.000, -0.001, -0.002, -0.002, -0.003,
1633  -0.003, -0.004, -0.004, -0.005, -0.005, -0.006, -0.006, -0.006, -0.006,
1634  -0.007, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007, -0.008, -0.008,
1635  -0.008, -0.008, -0.008, -0.008, -0.008, -0.008, -0.008, -0.008, -0.007,
1636  -0.007, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007,
1637  -0.007, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006,
1638  -0.006, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005,
1639  -0.004, -0.004},
1640  {// charge = 162 fC
1641  0.000, -0.001, 0.006, 0.026, 0.057, 0.095, 0.137, 0.182, 0.228,
1642  0.274, 0.319, 0.363, 0.405, 0.445, 0.483, 0.518, 0.552, 0.582,
1643  0.611, 0.637, 0.661, 0.683, 0.702, 0.719, 0.735, 0.748, 0.760,
1644  0.769, 0.777, 0.784, 0.788, 0.792, 0.793, 0.794, 0.793, 0.791,
1645  0.788, 0.784, 0.779, 0.773, 0.766, 0.759, 0.750, 0.741, 0.732,
1646  0.721, 0.711, 0.699, 0.688, 0.676, 0.663, 0.651, 0.638, 0.624,
1647  0.611, 0.598, 0.584, 0.570, 0.556, 0.543, 0.529, 0.515, 0.501,
1648  0.487, 0.474, 0.460, 0.447, 0.433, 0.420, 0.407, 0.394, 0.382,
1649  0.369, 0.357, 0.345, 0.333, 0.321, 0.309, 0.298, 0.287, 0.276,
1650  0.266, 0.256, 0.246, 0.236, 0.226, 0.217, 0.208, 0.199, 0.191,
1651  0.182, 0.174, 0.166, 0.159, 0.151, 0.144, 0.137, 0.131, 0.124,
1652  0.119, 0.112, 0.106, 0.100, 0.095, 0.090, 0.085, 0.080, 0.075,
1653  0.071, 0.067, 0.062, 0.059, 0.055, 0.051, 0.048, 0.044, 0.041,
1654  0.038, 0.035, 0.033, 0.030, 0.028, 0.025, 0.023, 0.021, 0.019,
1655  0.017, 0.015, 0.013, 0.012, 0.010, 0.009, 0.007, 0.006, 0.005,
1656  0.004, 0.003, 0.002, 0.001, 0.000, -0.001, -0.002, -0.002, -0.003,
1657  -0.003, -0.004, -0.005, -0.005, -0.005, -0.006, -0.006, -0.006, -0.007,
1658  -0.007, -0.007, -0.007, -0.007, -0.008, -0.008, -0.008, -0.008, -0.008,
1659  -0.008, -0.008, -0.008, -0.008, -0.008, -0.008, -0.008, -0.008, -0.008,
1660  -0.008, -0.008, -0.008, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007,
1661  -0.007, -0.007, -0.007, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006,
1662  -0.006, -0.006, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005, -0.005,
1663  -0.005, -0.005},
1664  {// charge = 168 fC
1665  0.000, -0.001, 0.006, 0.027, 0.059, 0.098, 0.142, 0.188, 0.236,
1666  0.284, 0.330, 0.376, 0.419, 0.461, 0.500, 0.537, 0.572, 0.604,
1667  0.633, 0.660, 0.685, 0.708, 0.728, 0.746, 0.762, 0.776, 0.788,
1668  0.798, 0.806, 0.812, 0.817, 0.821, 0.823, 0.823, 0.823, 0.821,
1669  0.818, 0.813, 0.808, 0.802, 0.795, 0.787, 0.778, 0.769, 0.759,
1670  0.748, 0.737, 0.725, 0.713, 0.701, 0.688, 0.675, 0.661, 0.648,
1671  0.634, 0.620, 0.606, 0.592, 0.577, 0.563, 0.549, 0.534, 0.520,
1672  0.506, 0.491, 0.477, 0.463, 0.450, 0.436, 0.422, 0.409, 0.396,
1673  0.383, 0.370, 0.357, 0.345, 0.333, 0.321, 0.309, 0.298, 0.287,
1674  0.276, 0.265, 0.255, 0.245, 0.235, 0.225, 0.216, 0.207, 0.198,
1675  0.189, 0.181, 0.173, 0.165, 0.157, 0.150, 0.142, 0.136, 0.129,
1676  0.123, 0.116, 0.110, 0.104, 0.099, 0.093, 0.088, 0.083, 0.078,
1677  0.074, 0.069, 0.065, 0.061, 0.057, 0.053, 0.050, 0.046, 0.043,
1678  0.040, 0.037, 0.034, 0.031, 0.029, 0.026, 0.024, 0.022, 0.020,
1679  0.018, 0.016, 0.014, 0.012, 0.011, 0.009, 0.008, 0.006, 0.005,
1680  0.004, 0.003, 0.002, 0.001, 0.000, -0.001, -0.002, -0.002, -0.003,
1681  -0.004, -0.004, -0.005, -0.005, -0.006, -0.006, -0.006, -0.007, -0.007,
1682  -0.007, -0.007, -0.008, -0.008, -0.008, -0.008, -0.008, -0.008, -0.008,
1683  -0.008, -0.008, -0.008, -0.008, -0.008, -0.008, -0.008, -0.008, -0.008,
1684  -0.008, -0.008, -0.008, -0.008, -0.008, -0.007, -0.007, -0.007, -0.007,
1685  -0.007, -0.007, -0.007, -0.007, -0.007, -0.006, -0.006, -0.006, -0.006,
1686  -0.006, -0.006, -0.006, -0.006, -0.005, -0.005, -0.005, -0.005, -0.005,
1687  -0.005, -0.005},
1688  {// charge = 180 fC
1689  0.000, -0.001, 0.007, 0.029, 0.062, 0.104, 0.151, 0.201, 0.251,
1690  0.302, 0.353, 0.401, 0.448, 0.493, 0.535, 0.574, 0.611, 0.646,
1691  0.677, 0.707, 0.733, 0.757, 0.779, 0.798, 0.816, 0.831, 0.843,
1692  0.854, 0.863, 0.870, 0.876, 0.879, 0.882, 0.882, 0.881, 0.879,
1693  0.876, 0.872, 0.866, 0.859, 0.852, 0.843, 0.834, 0.824, 0.813,
1694  0.802, 0.790, 0.778, 0.765, 0.751, 0.738, 0.723, 0.709, 0.694,
1695  0.680, 0.665, 0.649, 0.634, 0.619, 0.603, 0.588, 0.573, 0.557,
1696  0.542, 0.527, 0.512, 0.497, 0.482, 0.467, 0.453, 0.439, 0.424,
1697  0.410, 0.397, 0.383, 0.370, 0.357, 0.344, 0.332, 0.320, 0.308,
1698  0.296, 0.284, 0.273, 0.262, 0.252, 0.241, 0.231, 0.221, 0.212,
1699  0.203, 0.194, 0.185, 0.177, 0.168, 0.160, 0.153, 0.145, 0.138,
1700  0.132, 0.124, 0.118, 0.112, 0.106, 0.100, 0.094, 0.089, 0.084,
1701  0.079, 0.074, 0.070, 0.065, 0.061, 0.057, 0.053, 0.049, 0.046,
1702  0.043, 0.039, 0.036, 0.034, 0.031, 0.028, 0.026, 0.023, 0.021,
1703  0.019, 0.017, 0.015, 0.013, 0.011, 0.010, 0.008, 0.007, 0.006,
1704  0.004, 0.003, 0.002, 0.001, 0.000, -0.001, -0.002, -0.002, -0.003,
1705  -0.004, -0.005, -0.005, -0.006, -0.006, -0.006, -0.007, -0.007, -0.007,
1706  -0.008, -0.008, -0.008, -0.008, -0.008, -0.009, -0.009, -0.009, -0.009,
1707  -0.009, -0.009, -0.009, -0.009, -0.009, -0.009, -0.009, -0.009, -0.009,
1708  -0.009, -0.008, -0.008, -0.008, -0.008, -0.008, -0.008, -0.008, -0.008,
1709  -0.008, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007,
1710  -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.006, -0.005, -0.005,
1711  -0.005, -0.005},
1712  {// charge = 195 fC
1713  0.000, -0.001, 0.007, 0.031, 0.067, 0.112, 0.162, 0.216, 0.271,
1714  0.326, 0.380, 0.433, 0.484, 0.532, 0.578, 0.621, 0.661, 0.698,
1715  0.733, 0.764, 0.793, 0.819, 0.843, 0.864, 0.883, 0.899, 0.913,
1716  0.925, 0.935, 0.943, 0.948, 0.953, 0.955, 0.956, 0.955, 0.953,
1717  0.949, 0.944, 0.938, 0.931, 0.923, 0.914, 0.904, 0.893, 0.882,
1718  0.869, 0.856, 0.843, 0.829, 0.814, 0.800, 0.784, 0.769, 0.753,
1719  0.737, 0.721, 0.704, 0.688, 0.671, 0.654, 0.638, 0.621, 0.604,
1720  0.588, 0.571, 0.555, 0.539, 0.523, 0.507, 0.491, 0.476, 0.460,
1721  0.445, 0.430, 0.416, 0.401, 0.387, 0.373, 0.360, 0.347, 0.334,
1722  0.321, 0.308, 0.296, 0.285, 0.273, 0.262, 0.251, 0.240, 0.230,
1723  0.220, 0.210, 0.201, 0.192, 0.183, 0.174, 0.166, 0.158, 0.150,
1724  0.143, 0.135, 0.128, 0.121, 0.115, 0.108, 0.102, 0.096, 0.091,
1725  0.086, 0.080, 0.076, 0.071, 0.066, 0.062, 0.058, 0.054, 0.050,
1726  0.046, 0.043, 0.039, 0.036, 0.033, 0.030, 0.028, 0.025, 0.023,
1727  0.020, 0.018, 0.016, 0.014, 0.012, 0.011, 0.009, 0.007, 0.006,
1728  0.005, 0.003, 0.002, 0.001, 0.000, -0.001, -0.002, -0.003, -0.003,
1729  -0.004, -0.005, -0.006, -0.006, -0.007, -0.007, -0.007, -0.008, -0.008,
1730  -0.008, -0.009, -0.009, -0.009, -0.009, -0.009, -0.010, -0.010, -0.010,
1731  -0.010, -0.010, -0.010, -0.010, -0.010, -0.010, -0.010, -0.010, -0.010,
1732  -0.009, -0.009, -0.009, -0.009, -0.009, -0.009, -0.009, -0.009, -0.008,
1733  -0.008, -0.008, -0.008, -0.008, -0.008, -0.007, -0.007, -0.007, -0.007,
1734  -0.007, -0.007, -0.007, -0.007, -0.006, -0.006, -0.006, -0.006, -0.006,
1735  -0.006, -0.006},
1736  {// charge = 210 fC
1737  0.000, -0.001, 0.008, 0.033, 0.071, 0.119, 0.173, 0.230, 0.290,
1738  0.349, 0.407, 0.464, 0.519, 0.571, 0.620, 0.666, 0.710, 0.750,
1739  0.787, 0.821, 0.853, 0.881, 0.907, 0.930, 0.950, 0.967, 0.983,
1740  0.996, 1.006, 1.015, 1.021, 1.026, 1.028, 1.029, 1.028, 1.026,
1741  1.022, 1.017, 1.011, 1.003, 0.995, 0.985, 0.974, 0.962, 0.950,
1742  0.937, 0.923, 0.908, 0.893, 0.878, 0.862, 0.845, 0.828, 0.811,
1743  0.794, 0.777, 0.759, 0.741, 0.723, 0.705, 0.687, 0.669, 0.652,
1744  0.634, 0.616, 0.598, 0.581, 0.564, 0.546, 0.529, 0.513, 0.496,
1745  0.480, 0.464, 0.448, 0.433, 0.418, 0.403, 0.388, 0.374, 0.360,
1746  0.346, 0.333, 0.320, 0.307, 0.294, 0.282, 0.270, 0.259, 0.248,
1747  0.237, 0.227, 0.216, 0.206, 0.197, 0.188, 0.179, 0.170, 0.161,
1748  0.154, 0.145, 0.138, 0.131, 0.124, 0.117, 0.110, 0.104, 0.098,
1749  0.092, 0.087, 0.081, 0.076, 0.071, 0.067, 0.062, 0.058, 0.054,
1750  0.050, 0.046, 0.043, 0.039, 0.036, 0.033, 0.030, 0.027, 0.025,
1751  0.022, 0.020, 0.017, 0.015, 0.013, 0.011, 0.010, 0.008, 0.006,
1752  0.005, 0.004, 0.002, 0.001, 0.000, -0.001, -0.002, -0.003, -0.004,
1753  -0.005, -0.005, -0.006, -0.007, -0.007, -0.007, -0.008, -0.008, -0.009,
1754  -0.009, -0.009, -0.010, -0.010, -0.010, -0.010, -0.010, -0.010, -0.010,
1755  -0.011, -0.011, -0.011, -0.011, -0.011, -0.010, -0.010, -0.010, -0.010,
1756  -0.010, -0.010, -0.010, -0.010, -0.010, -0.010, -0.009, -0.009, -0.009,
1757  -0.009, -0.009, -0.009, -0.008, -0.008, -0.008, -0.008, -0.008, -0.008,
1758  -0.007, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007, -0.006, -0.006,
1759  -0.006, -0.006},
1760  {// charge = 225 fC
1761  0.000, -0.001, 0.008, 0.035, 0.075, 0.126, 0.183, 0.245, 0.308,
1762  0.371, 0.434, 0.495, 0.553, 0.609, 0.662, 0.712, 0.758, 0.801,
1763  0.842, 0.878, 0.912, 0.943, 0.970, 0.995, 1.017, 1.036, 1.052,
1764  1.066, 1.077, 1.087, 1.094, 1.098, 1.101, 1.102, 1.102, 1.099,
1765  1.095, 1.090, 1.083, 1.075, 1.066, 1.055, 1.044, 1.032, 1.018,
1766  1.004, 0.989, 0.974, 0.958, 0.941, 0.924, 0.906, 0.888, 0.870,
1767  0.852, 0.833, 0.814, 0.795, 0.776, 0.756, 0.737, 0.718, 0.699,
1768  0.680, 0.661, 0.642, 0.623, 0.605, 0.586, 0.568, 0.550, 0.532,
1769  0.515, 0.498, 0.481, 0.464, 0.448, 0.432, 0.416, 0.401, 0.386,
1770  0.371, 0.357, 0.343, 0.329, 0.316, 0.303, 0.290, 0.278, 0.266,
1771  0.254, 0.243, 0.232, 0.222, 0.211, 0.201, 0.192, 0.183, 0.173,
1772  0.165, 0.156, 0.148, 0.140, 0.133, 0.126, 0.118, 0.112, 0.105,
1773  0.099, 0.093, 0.087, 0.082, 0.077, 0.072, 0.067, 0.062, 0.058,
1774  0.053, 0.049, 0.046, 0.042, 0.039, 0.035, 0.032, 0.029, 0.026,
1775  0.024, 0.021, 0.019, 0.016, 0.014, 0.012, 0.010, 0.009, 0.007,
1776  0.005, 0.004, 0.002, 0.001, 0.000, -0.001, -0.002, -0.003, -0.004,
1777  -0.005, -0.006, -0.006, -0.007, -0.008, -0.008, -0.009, -0.009, -0.009,
1778  -0.010, -0.010, -0.010, -0.011, -0.011, -0.011, -0.011, -0.011, -0.011,
1779  -0.011, -0.011, -0.011, -0.011, -0.011, -0.011, -0.011, -0.011, -0.011,
1780  -0.011, -0.011, -0.011, -0.011, -0.010, -0.010, -0.010, -0.010, -0.010,
1781  -0.010, -0.010, -0.009, -0.009, -0.009, -0.009, -0.009, -0.008, -0.008,
1782  -0.008, -0.008, -0.008, -0.007, -0.007, -0.007, -0.007, -0.007, -0.007,
1783  -0.007, -0.006},
1784  {// charge = 240 fC
1785  0.000, -0.001, 0.009, 0.036, 0.079, 0.132, 0.193, 0.258, 0.325,
1786  0.393, 0.460, 0.524, 0.587, 0.647, 0.703, 0.756, 0.806, 0.852,
1787  0.895, 0.935, 0.971, 1.004, 1.033, 1.060, 1.083, 1.103, 1.121,
1788  1.136, 1.148, 1.158, 1.166, 1.171, 1.174, 1.175, 1.175, 1.172,
1789  1.168, 1.162, 1.155, 1.147, 1.137, 1.126, 1.114, 1.101, 1.087,
1790  1.072, 1.056, 1.039, 1.022, 1.004, 0.986, 0.968, 0.948, 0.929,
1791  0.909, 0.889, 0.869, 0.849, 0.828, 0.808, 0.788, 0.767, 0.746,
1792  0.726, 0.706, 0.686, 0.666, 0.646, 0.626, 0.607, 0.588, 0.569,
1793  0.550, 0.532, 0.514, 0.496, 0.479, 0.462, 0.445, 0.428, 0.412,
1794  0.397, 0.381, 0.366, 0.352, 0.338, 0.324, 0.310, 0.297, 0.284,
1795  0.272, 0.260, 0.248, 0.237, 0.226, 0.215, 0.205, 0.196, 0.185,
1796  0.176, 0.167, 0.158, 0.150, 0.142, 0.134, 0.127, 0.119, 0.113,
1797  0.106, 0.100, 0.093, 0.088, 0.082, 0.077, 0.071, 0.067, 0.062,
1798  0.057, 0.053, 0.049, 0.045, 0.041, 0.038, 0.034, 0.031, 0.028,
1799  0.025, 0.023, 0.020, 0.018, 0.015, 0.013, 0.011, 0.009, 0.007,
1800  0.006, 0.004, 0.003, 0.001, 0.000, -0.001, -0.002, -0.003, -0.004,
1801  -0.005, -0.006, -0.007, -0.007, -0.008, -0.009, -0.009, -0.010, -0.010,
1802  -0.010, -0.011, -0.011, -0.011, -0.012, -0.012, -0.012, -0.012, -0.012,
1803  -0.012, -0.012, -0.012, -0.012, -0.012, -0.012, -0.012, -0.012, -0.012,
1804  -0.012, -0.012, -0.011, -0.011, -0.011, -0.011, -0.011, -0.011, -0.011,
1805  -0.010, -0.010, -0.010, -0.010, -0.010, -0.009, -0.009, -0.009, -0.009,
1806  -0.009, -0.008, -0.008, -0.008, -0.008, -0.008, -0.007, -0.007, -0.007,
1807  -0.007, -0.007},
1808  {// charge = 255 fC
1809  0.000, -0.001, 0.009, 0.038, 0.082, 0.139, 0.203, 0.271, 0.343,
1810  0.414, 0.485, 0.554, 0.620, 0.683, 0.744, 0.800, 0.853, 0.903,
1811  0.949, 0.991, 1.029, 1.064, 1.096, 1.124, 1.149, 1.170, 1.189,
1812  1.204, 1.217, 1.227, 1.234, 1.240, 1.243, 1.244, 1.243, 1.241,
1813  1.237, 1.231, 1.224, 1.215, 1.205, 1.194, 1.182, 1.168, 1.153,
1814  1.138, 1.121, 1.104, 1.086, 1.067, 1.048, 1.028, 1.008, 0.988,
1815  0.967, 0.946, 0.924, 0.903, 0.881, 0.860, 0.838, 0.816, 0.795,
1816  0.773, 0.751, 0.730, 0.709, 0.688, 0.667, 0.646, 0.626, 0.606,
1817  0.586, 0.567, 0.548, 0.529, 0.510, 0.492, 0.474, 0.457, 0.440,
1818  0.423, 0.407, 0.391, 0.375, 0.360, 0.346, 0.331, 0.317, 0.304,
1819  0.290, 0.277, 0.265, 0.253, 0.241, 0.230, 0.219, 0.209, 0.198,
1820  0.188, 0.178, 0.169, 0.160, 0.152, 0.143, 0.136, 0.128, 0.120,
1821  0.113, 0.107, 0.100, 0.094, 0.088, 0.082, 0.076, 0.071, 0.066,
1822  0.061, 0.057, 0.053, 0.048, 0.044, 0.041, 0.037, 0.034, 0.030,
1823  0.027, 0.024, 0.022, 0.019, 0.017, 0.014, 0.012, 0.010, 0.008,
1824  0.006, 0.005, 0.003, 0.002, 0.000, -0.001, -0.002, -0.003, -0.005,
1825  -0.006, -0.006, -0.007, -0.008, -0.009, -0.009, -0.010, -0.010, -0.011,
1826  -0.011, -0.011, -0.012, -0.012, -0.012, -0.012, -0.013, -0.013, -0.013,
1827  -0.013, -0.013, -0.013, -0.013, -0.013, -0.013, -0.013, -0.013, -0.013,
1828  -0.012, -0.012, -0.012, -0.012, -0.012, -0.012, -0.012, -0.011, -0.011,
1829  -0.011, -0.011, -0.011, -0.011, -0.010, -0.010, -0.010, -0.010, -0.010,
1830  -0.009, -0.009, -0.009, -0.009, -0.008, -0.008, -0.008, -0.008, -0.008,
1831  -0.007, -0.007},
1832  {// charge = 270 fC
1833  0.000, -0.001, 0.010, 0.039, 0.086, 0.145, 0.212, 0.284, 0.359,
1834  0.434, 0.509, 0.582, 0.652, 0.720, 0.783, 0.844, 0.900, 0.953,
1835  1.001, 1.046, 1.087, 1.124, 1.158, 1.187, 1.212, 1.234, 1.252,
1836  1.267, 1.279, 1.289, 1.295, 1.300, 1.302, 1.303, 1.302, 1.299,
1837  1.295, 1.289, 1.282, 1.274, 1.264, 1.253, 1.241, 1.228, 1.213,
1838  1.198, 1.181, 1.164, 1.146, 1.127, 1.107, 1.087, 1.066, 1.045,
1839  1.023, 1.001, 0.979, 0.957, 0.934, 0.911, 0.889, 0.866, 0.843,
1840  0.821, 0.798, 0.776, 0.753, 0.731, 0.709, 0.688, 0.666, 0.645,
1841  0.624, 0.604, 0.584, 0.564, 0.544, 0.525, 0.506, 0.488, 0.470,
1842  0.452, 0.435, 0.418, 0.401, 0.385, 0.370, 0.354, 0.340, 0.325,
1843  0.311, 0.297, 0.284, 0.271, 0.259, 0.247, 0.235, 0.225, 0.213,
1844  0.202, 0.192, 0.182, 0.173, 0.164, 0.155, 0.146, 0.138, 0.130,
1845  0.123, 0.115, 0.108, 0.102, 0.095, 0.089, 0.083, 0.077, 0.072,
1846  0.067, 0.062, 0.057, 0.053, 0.049, 0.044, 0.041, 0.037, 0.033,
1847  0.030, 0.027, 0.024, 0.021, 0.019, 0.016, 0.014, 0.012, 0.009,
1848  0.007, 0.006, 0.004, 0.002, 0.001, -0.001, -0.002, -0.003, -0.004,
1849  -0.005, -0.006, -0.007, -0.008, -0.009, -0.009, -0.010, -0.011, -0.011,
1850  -0.012, -0.012, -0.012, -0.012, -0.013, -0.013, -0.013, -0.013, -0.013,
1851  -0.013, -0.014, -0.014, -0.014, -0.014, -0.014, -0.013, -0.013, -0.013,
1852  -0.013, -0.013, -0.013, -0.013, -0.013, -0.012, -0.012, -0.012, -0.012,
1853  -0.012, -0.012, -0.011, -0.011, -0.011, -0.011, -0.011, -0.010, -0.010,
1854  -0.010, -0.010, -0.010, -0.009, -0.009, -0.009, -0.009, -0.008, -0.008,
1855  -0.008, -0.008},
1856  {// charge = 285 fC
1857  0.000, -0.001, 0.010, 0.041, 0.089, 0.150, 0.220, 0.296, 0.374,
1858  0.454, 0.533, 0.609, 0.684, 0.755, 0.822, 0.886, 0.946, 1.002,
1859  1.053, 1.101, 1.144, 1.183, 1.217, 1.246, 1.271, 1.291, 1.308,
1860  1.321, 1.331, 1.338, 1.343, 1.346, 1.348, 1.347, 1.346, 1.342,
1861  1.338, 1.332, 1.326, 1.318, 1.309, 1.299, 1.287, 1.275, 1.261,
1862  1.247, 1.231, 1.214, 1.197, 1.179, 1.159, 1.139, 1.119, 1.097,
1863  1.076, 1.053, 1.031, 1.008, 0.985, 0.962, 0.939, 0.916, 0.893,
1864  0.869, 0.846, 0.823, 0.800, 0.777, 0.754, 0.732, 0.709, 0.687,
1865  0.666, 0.644, 0.623, 0.602, 0.582, 0.562, 0.542, 0.523, 0.504,
1866  0.485, 0.467, 0.449, 0.432, 0.415, 0.398, 0.382, 0.366, 0.351,
1867  0.336, 0.321, 0.307, 0.294, 0.280, 0.268, 0.255, 0.244, 0.231,
1868  0.220, 0.209, 0.199, 0.188, 0.179, 0.169, 0.160, 0.151, 0.143,
1869  0.135, 0.127, 0.119, 0.112, 0.105, 0.098, 0.092, 0.086, 0.080,
1870  0.075, 0.069, 0.064, 0.059, 0.055, 0.050, 0.046, 0.042, 0.038,
1871  0.035, 0.031, 0.028, 0.025, 0.022, 0.019, 0.017, 0.014, 0.012,
1872  0.010, 0.008, 0.006, 0.004, 0.002, 0.001, -0.001, -0.002, -0.003,
1873  -0.004, -0.006, -0.007, -0.007, -0.008, -0.009, -0.010, -0.010, -0.011,
1874  -0.012, -0.012, -0.012, -0.013, -0.013, -0.013, -0.013, -0.014, -0.014,
1875  -0.014, -0.014, -0.014, -0.014, -0.014, -0.014, -0.014, -0.014, -0.014,
1876  -0.014, -0.014, -0.014, -0.013, -0.013, -0.013, -0.013, -0.013, -0.013,
1877  -0.012, -0.012, -0.012, -0.012, -0.012, -0.011, -0.011, -0.011, -0.011,
1878  -0.011, -0.010, -0.010, -0.010, -0.010, -0.010, -0.009, -0.009, -0.009,
1879  -0.009, -0.008},
1880  {// charge = 300 fC
1881  0.000, -0.001, 0.010, 0.042, 0.092, 0.155, 0.228, 0.307, 0.389,
1882  0.472, 0.555, 0.636, 0.714, 0.789, 0.860, 0.928, 0.991, 1.050,
1883  1.104, 1.154, 1.199, 1.238, 1.271, 1.298, 1.320, 1.338, 1.352,
1884  1.362, 1.369, 1.374, 1.377, 1.379, 1.379, 1.378, 1.375, 1.372,
1885  1.368, 1.363, 1.356, 1.349, 1.341, 1.332, 1.322, 1.311, 1.299,
1886  1.285, 1.271, 1.256, 1.240, 1.223, 1.205, 1.186, 1.166, 1.146,
1887  1.125, 1.103, 1.081, 1.058, 1.035, 1.012, 0.989, 0.965, 0.942,
1888  0.918, 0.895, 0.871, 0.848, 0.824, 0.801, 0.778, 0.755, 0.732,
1889  0.710, 0.688, 0.666, 0.644, 0.623, 0.602, 0.581, 0.561, 0.541,
1890  0.522, 0.503, 0.484, 0.466, 0.448, 0.430, 0.413, 0.397, 0.381,
1891  0.365, 0.349, 0.334, 0.320, 0.306, 0.292, 0.279, 0.266, 0.254,
1892  0.242, 0.230, 0.218, 0.208, 0.197, 0.187, 0.177, 0.168, 0.158,
1893  0.150, 0.141, 0.133, 0.125, 0.118, 0.110, 0.104, 0.097, 0.091,
1894  0.085, 0.079, 0.073, 0.068, 0.063, 0.058, 0.053, 0.049, 0.045,
1895  0.041, 0.037, 0.034, 0.030, 0.027, 0.024, 0.021, 0.018, 0.016,
1896  0.013, 0.011, 0.009, 0.007, 0.005, 0.003, 0.002, 0.000, -0.001,
1897  -0.003, -0.004, -0.005, -0.006, -0.007, -0.008, -0.009, -0.010, -0.010,
1898  -0.011, -0.012, -0.012, -0.012, -0.013, -0.013, -0.013, -0.014, -0.014,
1899  -0.014, -0.014, -0.015, -0.015, -0.015, -0.015, -0.015, -0.015, -0.015,
1900  -0.015, -0.014, -0.014, -0.014, -0.014, -0.014, -0.014, -0.014, -0.013,
1901  -0.013, -0.013, -0.013, -0.013, -0.012, -0.012, -0.012, -0.012, -0.012,
1902  -0.011, -0.011, -0.011, -0.011, -0.010, -0.010, -0.010, -0.010, -0.010,
1903  -0.009, -0.009},
1904  {// charge = 315 fC
1905  0.000, -0.001, 0.011, 0.043, 0.094, 0.159, 0.235, 0.317, 0.403,
1906  0.490, 0.576, 0.661, 0.743, 0.822, 0.897, 0.968, 1.035, 1.097,
1907  1.154, 1.205, 1.249, 1.287, 1.317, 1.341, 1.359, 1.373, 1.383,
1908  1.390, 1.395, 1.398, 1.400, 1.400, 1.400, 1.398, 1.396, 1.393,
1909  1.389, 1.384, 1.378, 1.372, 1.365, 1.357, 1.348, 1.339, 1.328,
1910  1.317, 1.304, 1.291, 1.276, 1.261, 1.244, 1.227, 1.209, 1.190,
1911  1.170, 1.149, 1.128, 1.106, 1.084, 1.061, 1.038, 1.015, 0.992,
1912  0.968, 0.944, 0.921, 0.897, 0.873, 0.850, 0.826, 0.803, 0.779,
1913  0.756, 0.734, 0.711, 0.689, 0.667, 0.645, 0.624, 0.603, 0.582,
1914  0.562, 0.542, 0.522, 0.503, 0.485, 0.466, 0.448, 0.431, 0.414,
1915  0.397, 0.381, 0.365, 0.350, 0.335, 0.320, 0.306, 0.292, 0.279,
1916  0.267, 0.253, 0.241, 0.230, 0.218, 0.207, 0.197, 0.187, 0.177,
1917  0.167, 0.158, 0.149, 0.141, 0.133, 0.125, 0.117, 0.110, 0.103,
1918  0.097, 0.090, 0.084, 0.078, 0.073, 0.067, 0.062, 0.058, 0.053,
1919  0.049, 0.044, 0.040, 0.037, 0.033, 0.030, 0.026, 0.023, 0.021,
1920  0.018, 0.015, 0.013, 0.011, 0.008, 0.006, 0.004, 0.003, 0.001,
1921  -0.000, -0.002, -0.003, -0.004, -0.006, -0.007, -0.008, -0.008, -0.009,
1922  -0.010, -0.011, -0.011, -0.012, -0.012, -0.013, -0.013, -0.014, -0.014,
1923  -0.014, -0.014, -0.015, -0.015, -0.015, -0.015, -0.015, -0.015, -0.015,
1924  -0.015, -0.015, -0.015, -0.015, -0.015, -0.015, -0.014, -0.014, -0.014,
1925  -0.014, -0.014, -0.013, -0.013, -0.013, -0.013, -0.013, -0.012, -0.012,
1926  -0.012, -0.012, -0.012, -0.011, -0.011, -0.011, -0.011, -0.011, -0.010,
1927  -0.010, -0.010},
1928  {// charge = 330 fC
1929  0.000, -0.001, 0.011, 0.044, 0.096, 0.163, 0.241, 0.326, 0.415,
1930  0.506, 0.596, 0.685, 0.771, 0.854, 0.933, 1.007, 1.077, 1.142,
1931  1.201, 1.252, 1.294, 1.328, 1.353, 1.373, 1.387, 1.397, 1.404,
1932  1.409, 1.412, 1.414, 1.414, 1.414, 1.414, 1.412, 1.410, 1.407,
1933  1.404, 1.400, 1.395, 1.389, 1.383, 1.377, 1.369, 1.361, 1.352,
1934  1.342, 1.331, 1.320, 1.307, 1.294, 1.279, 1.263, 1.247, 1.230,
1935  1.211, 1.192, 1.173, 1.152, 1.131, 1.109, 1.086, 1.064, 1.041,
1936  1.017, 0.994, 0.970, 0.947, 0.923, 0.899, 0.875, 0.852, 0.828,
1937  0.805, 0.782, 0.758, 0.736, 0.713, 0.691, 0.669, 0.647, 0.626,
1938  0.605, 0.584, 0.563, 0.544, 0.524, 0.505, 0.486, 0.468, 0.450,
1939  0.432, 0.415, 0.398, 0.382, 0.366, 0.351, 0.336, 0.321, 0.307,
1940  0.294, 0.279, 0.267, 0.254, 0.242, 0.230, 0.219, 0.208, 0.197,
1941  0.187, 0.177, 0.168, 0.159, 0.150, 0.141, 0.133, 0.125, 0.118,
1942  0.110, 0.104, 0.097, 0.090, 0.084, 0.078, 0.073, 0.068, 0.062,
1943  0.058, 0.053, 0.049, 0.044, 0.040, 0.037, 0.033, 0.030, 0.026,
1944  0.023, 0.020, 0.018, 0.015, 0.013, 0.010, 0.008, 0.006, 0.004,
1945  0.002, 0.001, -0.001, -0.002, -0.003, -0.005, -0.006, -0.007, -0.008,
1946  -0.009, -0.010, -0.010, -0.011, -0.012, -0.012, -0.013, -0.013, -0.014,
1947  -0.014, -0.014, -0.015, -0.015, -0.015, -0.015, -0.015, -0.015, -0.015,
1948  -0.015, -0.015, -0.015, -0.015, -0.015, -0.015, -0.015, -0.015, -0.015,
1949  -0.015, -0.014, -0.014, -0.014, -0.014, -0.014, -0.013, -0.013, -0.013,
1950  -0.013, -0.013, -0.012, -0.012, -0.012, -0.012, -0.012, -0.011, -0.011,
1951  -0.011, -0.011},
1952  {// charge = 345 fC
1953  0.000, -0.001, 0.012, 0.045, 0.098, 0.167, 0.247, 0.335, 0.427,
1954  0.521, 0.615, 0.708, 0.797, 0.884, 0.967, 1.045, 1.118, 1.186,
1955  1.244, 1.293, 1.331, 1.360, 1.380, 1.395, 1.405, 1.412, 1.417,
1956  1.420, 1.422, 1.423, 1.424, 1.424, 1.423, 1.422, 1.420, 1.417,
1957  1.415, 1.411, 1.407, 1.403, 1.398, 1.392, 1.386, 1.379, 1.371,
1958  1.363, 1.354, 1.344, 1.333, 1.322, 1.309, 1.296, 1.281, 1.266,
1959  1.249, 1.232, 1.214, 1.195, 1.175, 1.155, 1.133, 1.111, 1.089,
1960  1.066, 1.043, 1.020, 0.997, 0.973, 0.949, 0.926, 0.902, 0.878,
1961  0.854, 0.831, 0.807, 0.784, 0.761, 0.738, 0.716, 0.693, 0.671,
1962  0.649, 0.628, 0.607, 0.586, 0.566, 0.546, 0.526, 0.507, 0.488,
1963  0.470, 0.452, 0.434, 0.417, 0.400, 0.384, 0.368, 0.352, 0.337,
1964  0.323, 0.308, 0.294, 0.281, 0.268, 0.255, 0.243, 0.231, 0.220,
1965  0.209, 0.198, 0.188, 0.178, 0.169, 0.159, 0.150, 0.142, 0.134,
1966  0.126, 0.118, 0.111, 0.104, 0.097, 0.091, 0.085, 0.079, 0.073,
1967  0.068, 0.063, 0.058, 0.053, 0.049, 0.044, 0.040, 0.037, 0.033,
1968  0.030, 0.026, 0.023, 0.020, 0.018, 0.015, 0.013, 0.010, 0.008,
1969  0.006, 0.004, 0.002, 0.001, -0.001, -0.002, -0.004, -0.005, -0.006,
1970  -0.007, -0.008, -0.009, -0.010, -0.011, -0.011, -0.012, -0.012, -0.013,
1971  -0.013, -0.014, -0.014, -0.015, -0.015, -0.015, -0.015, -0.015, -0.016,
1972  -0.016, -0.016, -0.016, -0.016, -0.016, -0.016, -0.016, -0.015, -0.015,
1973  -0.015, -0.015, -0.015, -0.015, -0.015, -0.014, -0.014, -0.014, -0.014,
1974  -0.014, -0.013, -0.013, -0.013, -0.013, -0.012, -0.012, -0.012, -0.012,
1975  -0.012, -0.011},
1976  {// charge = 360 fC
1977  0.000, -0.001, 0.012, 0.046, 0.100, 0.170, 0.252, 0.342, 0.437,
1978  0.534, 0.632, 0.728, 0.822, 0.912, 0.999, 1.081, 1.157, 1.226,
1979  1.282, 1.327, 1.360, 1.383, 1.399, 1.410, 1.417, 1.421, 1.425,
1980  1.427, 1.428, 1.429, 1.430, 1.430, 1.429, 1.428, 1.427, 1.425,
1981  1.423, 1.420, 1.417, 1.413, 1.409, 1.405, 1.400, 1.394, 1.387,
1982  1.380, 1.373, 1.364, 1.355, 1.346, 1.335, 1.323, 1.311, 1.297,
1983  1.283, 1.268, 1.251, 1.234, 1.216, 1.197, 1.178, 1.157, 1.136,
1984  1.114, 1.092, 1.069, 1.046, 1.023, 1.000, 0.976, 0.952, 0.929,
1985  0.905, 0.881, 0.857, 0.834, 0.810, 0.787, 0.764, 0.741, 0.718,
1986  0.696, 0.674, 0.652, 0.631, 0.609, 0.589, 0.568, 0.548, 0.528,
1987  0.509, 0.490, 0.472, 0.454, 0.436, 0.419, 0.402, 0.386, 0.370,
1988  0.355, 0.339, 0.324, 0.310, 0.296, 0.283, 0.269, 0.257, 0.245,
1989  0.233, 0.221, 0.210, 0.200, 0.189, 0.179, 0.170, 0.160, 0.151,
1990  0.143, 0.134, 0.127, 0.119, 0.112, 0.105, 0.098, 0.091, 0.085,
1991  0.079, 0.074, 0.068, 0.063, 0.058, 0.053, 0.049, 0.045, 0.041,
1992  0.037, 0.033, 0.030, 0.026, 0.023, 0.020, 0.018, 0.015, 0.012,
1993  0.010, 0.008, 0.006, 0.004, 0.002, 0.001, -0.001, -0.002, -0.004,
1994  -0.005, -0.006, -0.007, -0.008, -0.009, -0.010, -0.011, -0.012, -0.012,
1995  -0.013, -0.013, -0.014, -0.014, -0.015, -0.015, -0.015, -0.015, -0.016,
1996  -0.016, -0.016, -0.016, -0.016, -0.016, -0.016, -0.016, -0.016, -0.016,
1997  -0.016, -0.016, -0.016, -0.015, -0.015, -0.015, -0.015, -0.015, -0.015,
1998  -0.014, -0.014, -0.014, -0.014, -0.013, -0.013, -0.013, -0.013, -0.013,
1999  -0.012, -0.012},
2000  {// charge = 375 fC
2001  0.000, -0.001, 0.012, 0.047, 0.102, 0.173, 0.256, 0.348, 0.446,
2002  0.546, 0.647, 0.747, 0.845, 0.939, 1.029, 1.114, 1.193, 1.261,
2003  1.314, 1.353, 1.381, 1.399, 1.411, 1.418, 1.423, 1.427, 1.429,
2004  1.431, 1.432, 1.433, 1.434, 1.434, 1.433, 1.433, 1.432, 1.431,
2005  1.429, 1.427, 1.425, 1.422, 1.419, 1.415, 1.411, 1.406, 1.401,
2006  1.395, 1.389, 1.382, 1.374, 1.366, 1.357, 1.347, 1.336, 1.325,
2007  1.313, 1.299, 1.285, 1.270, 1.253, 1.236, 1.218, 1.200, 1.180,
2008  1.160, 1.139, 1.117, 1.095, 1.072, 1.049, 1.026, 1.003, 0.979,
2009  0.955, 0.932, 0.908, 0.884, 0.860, 0.837, 0.813, 0.790, 0.767,
2010  0.744, 0.721, 0.699, 0.677, 0.655, 0.633, 0.612, 0.591, 0.571,
2011  0.551, 0.531, 0.511, 0.493, 0.474, 0.456, 0.438, 0.421, 0.404,
2012  0.387, 0.371, 0.356, 0.341, 0.326, 0.311, 0.298, 0.284, 0.271,
2013  0.258, 0.246, 0.234, 0.222, 0.211, 0.201, 0.190, 0.180, 0.170,
2014  0.161, 0.152, 0.144, 0.135, 0.127, 0.120, 0.112, 0.105, 0.098,
2015  0.092, 0.086, 0.080, 0.074, 0.069, 0.063, 0.058, 0.054, 0.049,
2016  0.045, 0.041, 0.037, 0.033, 0.030, 0.026, 0.023, 0.020, 0.018,
2017  0.015, 0.012, 0.010, 0.008, 0.006, 0.004, 0.002, 0.000, -0.001,
2018  -0.003, -0.004, -0.005, -0.007, -0.008, -0.009, -0.010, -0.010, -0.011,
2019  -0.012, -0.013, -0.013, -0.014, -0.014, -0.015, -0.015, -0.015, -0.016,
2020  -0.016, -0.016, -0.016, -0.016, -0.016, -0.016, -0.016, -0.016, -0.016,
2021  -0.016, -0.016, -0.016, -0.016, -0.016, -0.016, -0.016, -0.016, -0.015,
2022  -0.015, -0.015, -0.015, -0.015, -0.014, -0.014, -0.014, -0.014, -0.013,
2023  -0.013, -0.013},
2024  {// charge = 390 fC
2025  0.000, -0.001, 0.012, 0.048, 0.103, 0.175, 0.259, 0.354, 0.454,
2026  0.557, 0.661, 0.764, 0.865, 0.962, 1.056, 1.145, 1.225, 1.290,
2027  1.339, 1.373, 1.395, 1.409, 1.418, 1.424, 1.427, 1.430, 1.432,
2028  1.434, 1.435, 1.436, 1.436, 1.436, 1.436, 1.436, 1.436, 1.435,
2029  1.434, 1.432, 1.430, 1.428, 1.426, 1.423, 1.420, 1.416, 1.412,
2030  1.407, 1.402, 1.396, 1.390, 1.383, 1.375, 1.367, 1.358, 1.348,
2031  1.338, 1.327, 1.314, 1.301, 1.287, 1.272, 1.256, 1.239, 1.221,
2032  1.202, 1.183, 1.163, 1.142, 1.120, 1.098, 1.075, 1.052, 1.029,
2033  1.006, 0.982, 0.958, 0.935, 0.911, 0.887, 0.863, 0.840, 0.816,
2034  0.793, 0.770, 0.747, 0.724, 0.702, 0.679, 0.658, 0.636, 0.615,
2035  0.594, 0.573, 0.553, 0.533, 0.514, 0.495, 0.476, 0.458, 0.440,
2036  0.423, 0.406, 0.389, 0.374, 0.357, 0.342, 0.327, 0.313, 0.299,
2037  0.285, 0.272, 0.260, 0.247, 0.235, 0.224, 0.212, 0.202, 0.191,
2038  0.181, 0.171, 0.162, 0.153, 0.144, 0.136, 0.128, 0.120, 0.113,
2039  0.106, 0.099, 0.092, 0.086, 0.080, 0.074, 0.069, 0.064, 0.059,
2040  0.054, 0.049, 0.045, 0.041, 0.037, 0.033, 0.030, 0.026, 0.023,
2041  0.020, 0.017, 0.015, 0.012, 0.010, 0.008, 0.006, 0.004, 0.002,
2042  0.000, -0.001, -0.003, -0.004, -0.006, -0.007, -0.008, -0.009, -0.010,
2043  -0.011, -0.012, -0.012, -0.013, -0.013, -0.014, -0.015, -0.015, -0.015,
2044  -0.016, -0.016, -0.016, -0.016, -0.016, -0.017, -0.017, -0.017, -0.017,
2045  -0.017, -0.017, -0.017, -0.017, -0.016, -0.016, -0.016, -0.016, -0.016,
2046  -0.016, -0.016, -0.016, -0.015, -0.015, -0.015, -0.015, -0.015, -0.014,
2047  -0.014, -0.014},
2048  {// charge = 405 fC
2049  0.000, -0.001, 0.013, 0.049, 0.104, 0.177, 0.262, 0.358, 0.460,
2050  0.566, 0.672, 0.778, 0.882, 0.983, 1.080, 1.172, 1.251, 1.313,
2051  1.358, 1.387, 1.405, 1.416, 1.422, 1.427, 1.430, 1.432, 1.434,
2052  1.435, 1.436, 1.437, 1.438, 1.438, 1.438, 1.438, 1.438, 1.438,
2053  1.437, 1.436, 1.435, 1.433, 1.431, 1.429, 1.427, 1.424, 1.421,
2054  1.417, 1.413, 1.408, 1.403, 1.397, 1.391, 1.384, 1.376, 1.368,
2055  1.359, 1.350, 1.339, 1.328, 1.316, 1.303, 1.289, 1.274, 1.258,
2056  1.241, 1.223, 1.205, 1.186, 1.165, 1.145, 1.123, 1.101, 1.078,
2057  1.055, 1.032, 1.009, 0.985, 0.962, 0.938, 0.914, 0.890, 0.867,
2058  0.843, 0.819, 0.796, 0.773, 0.750, 0.727, 0.704, 0.682, 0.660,
2059  0.639, 0.617, 0.596, 0.576, 0.555, 0.535, 0.516, 0.497, 0.478,
2060  0.460, 0.442, 0.425, 0.408, 0.391, 0.375, 0.359, 0.344, 0.329,
2061  0.314, 0.300, 0.287, 0.274, 0.261, 0.248, 0.236, 0.225, 0.213,
2062  0.202, 0.192, 0.182, 0.172, 0.163, 0.154, 0.145, 0.137, 0.128,
2063  0.121, 0.113, 0.106, 0.099, 0.093, 0.086, 0.080, 0.075, 0.069,
2064  0.064, 0.059, 0.054, 0.049, 0.045, 0.041, 0.037, 0.033, 0.030,
2065  0.026, 0.023, 0.020, 0.017, 0.015, 0.012, 0.010, 0.007, 0.005,
2066  0.003, 0.002, -0.000, -0.002, -0.003, -0.005, -0.006, -0.007, -0.008,
2067  -0.009, -0.010, -0.011, -0.012, -0.013, -0.013, -0.014, -0.014, -0.015,
2068  -0.015, -0.016, -0.016, -0.016, -0.016, -0.017, -0.017, -0.017, -0.017,
2069  -0.017, -0.017, -0.017, -0.017, -0.017, -0.017, -0.017, -0.017, -0.017,
2070  -0.017, -0.016, -0.016, -0.016, -0.016, -0.016, -0.016, -0.015, -0.015,
2071  -0.015, -0.015},
2072  {// charge = 420 fC
2073  0.000, -0.001, 0.013, 0.050, 0.105, 0.178, 0.265, 0.362, 0.466,
2074  0.573, 0.682, 0.790, 0.897, 1.000, 1.099, 1.193, 1.271, 1.330,
2075  1.370, 1.396, 1.410, 1.419, 1.424, 1.428, 1.431, 1.433, 1.435,
2076  1.436, 1.437, 1.438, 1.439, 1.439, 1.440, 1.440, 1.440, 1.440,
2077  1.439, 1.439, 1.438, 1.437, 1.436, 1.434, 1.432, 1.430, 1.428,
2078  1.425, 1.421, 1.418, 1.414, 1.409, 1.404, 1.398, 1.392, 1.385,
2079  1.378, 1.370, 1.361, 1.351, 1.341, 1.330, 1.318, 1.305, 1.291,
2080  1.276, 1.260, 1.244, 1.226, 1.208, 1.188, 1.168, 1.148, 1.126,
2081  1.104, 1.081, 1.059, 1.035, 1.012, 0.989, 0.965, 0.941, 0.917,
2082  0.893, 0.870, 0.846, 0.822, 0.799, 0.776, 0.753, 0.730, 0.707,
2083  0.685, 0.663, 0.641, 0.620, 0.599, 0.578, 0.558, 0.538, 0.518,
2084  0.499, 0.480, 0.462, 0.444, 0.426, 0.410, 0.392, 0.376, 0.361,
2085  0.345, 0.330, 0.316, 0.302, 0.288, 0.275, 0.262, 0.249, 0.237,
2086  0.225, 0.214, 0.203, 0.193, 0.183, 0.173, 0.163, 0.154, 0.145,
2087  0.137, 0.129, 0.121, 0.113, 0.106, 0.099, 0.093, 0.086, 0.080,
2088  0.075, 0.069, 0.064, 0.059, 0.054, 0.049, 0.045, 0.041, 0.037,
2089  0.033, 0.030, 0.026, 0.023, 0.020, 0.017, 0.014, 0.012, 0.009,
2090  0.007, 0.005, 0.003, 0.001, -0.001, -0.002, -0.004, -0.005, -0.006,
2091  -0.008, -0.009, -0.010, -0.011, -0.012, -0.012, -0.013, -0.014, -0.014,
2092  -0.015, -0.015, -0.016, -0.016, -0.016, -0.017, -0.017, -0.017, -0.017,
2093  -0.017, -0.017, -0.018, -0.018, -0.018, -0.018, -0.017, -0.017, -0.017,
2094  -0.017, -0.017, -0.017, -0.017, -0.017, -0.016, -0.016, -0.016, -0.016,
2095  -0.016, -0.016},
2096  {// charge = 435 fC
2097  0.000, -0.001, 0.013, 0.050, 0.107, 0.180, 0.267, 0.365, 0.470,
2098  0.579, 0.690, 0.800, 0.908, 1.013, 1.114, 1.208, 1.285, 1.341,
2099  1.378, 1.400, 1.413, 1.421, 1.425, 1.429, 1.431, 1.433, 1.435,
2100  1.436, 1.438, 1.439, 1.439, 1.440, 1.441, 1.441, 1.441, 1.441,
2101  1.441, 1.441, 1.441, 1.440, 1.439, 1.438, 1.437, 1.435, 1.433,
2102  1.431, 1.429, 1.426, 1.422, 1.419, 1.415, 1.410, 1.405, 1.399,
2103  1.393, 1.387, 1.379, 1.371, 1.363, 1.353, 1.343, 1.332, 1.320,
2104  1.308, 1.294, 1.279, 1.263, 1.247, 1.229, 1.211, 1.192, 1.172,
2105  1.151, 1.130, 1.108, 1.085, 1.062, 1.039, 1.016, 0.992, 0.968,
2106  0.945, 0.921, 0.897, 0.873, 0.849, 0.826, 0.802, 0.779, 0.756,
2107  0.733, 0.710, 0.688, 0.665, 0.644, 0.622, 0.601, 0.580, 0.560,
2108  0.540, 0.520, 0.501, 0.482, 0.464, 0.446, 0.428, 0.411, 0.394,
2109  0.378, 0.362, 0.346, 0.331, 0.317, 0.303, 0.289, 0.275, 0.262,
2110  0.250, 0.238, 0.226, 0.215, 0.204, 0.193, 0.183, 0.173, 0.163,
2111  0.154, 0.145, 0.137, 0.129, 0.121, 0.113, 0.106, 0.099, 0.092,
2112  0.086, 0.080, 0.074, 0.069, 0.063, 0.058, 0.053, 0.049, 0.044,
2113  0.040, 0.036, 0.033, 0.029, 0.026, 0.022, 0.019, 0.016, 0.014,
2114  0.011, 0.009, 0.007, 0.004, 0.002, 0.001, -0.001, -0.003, -0.004,
2115  -0.006, -0.007, -0.008, -0.009, -0.010, -0.011, -0.012, -0.013, -0.014,
2116  -0.014, -0.015, -0.016, -0.016, -0.016, -0.017, -0.017, -0.017, -0.018,
2117  -0.018, -0.018, -0.018, -0.018, -0.018, -0.018, -0.018, -0.018, -0.018,
2118  -0.018, -0.018, -0.018, -0.018, -0.018, -0.017, -0.017, -0.017, -0.017,
2119  -0.017, -0.016},
2120  {// charge = 450 fC
2121  0.000, -0.001, 0.014, 0.051, 0.108, 0.181, 0.269, 0.368, 0.474,
2122  0.584, 0.696, 0.807, 0.916, 1.022, 1.124, 1.217, 1.292, 1.347,
2123  1.382, 1.398, 1.410, 1.418, 1.424, 1.430, 1.436, 1.439, 1.441,
2124  1.442, 1.443, 1.442, 1.441, 1.439, 1.435, 1.431, 1.425, 1.419,
2125  1.412, 1.404, 1.395, 1.386, 1.376, 1.366, 1.355, 1.343, 1.330,
2126  1.316, 1.301, 1.285, 1.268, 1.250, 1.232, 1.212, 1.192, 1.171,
2127  1.149, 1.127, 1.104, 1.080, 1.056, 1.032, 1.008, 0.983, 0.959,
2128  0.934, 0.910, 0.885, 0.860, 0.836, 0.812, 0.788, 0.764, 0.740,
2129  0.717, 0.694, 0.671, 0.649, 0.627, 0.605, 0.583, 0.562, 0.542,
2130  0.522, 0.502, 0.483, 0.464, 0.445, 0.427, 0.410, 0.393, 0.376,
2131  0.360, 0.344, 0.329, 0.314, 0.299, 0.285, 0.271, 0.259, 0.245,
2132  0.233, 0.221, 0.210, 0.199, 0.188, 0.178, 0.168, 0.158, 0.149,
2133  0.140, 0.131, 0.123, 0.115, 0.108, 0.100, 0.093, 0.087, 0.081,
2134  0.074, 0.069, 0.063, 0.058, 0.053, 0.048, 0.044, 0.039, 0.035,
2135  0.031, 0.027, 0.024, 0.021, 0.018, 0.015, 0.012, 0.009, 0.007,
2136  0.004, 0.002, 0.000, -0.002, -0.003, -0.005, -0.006, -0.008, -0.009,
2137  -0.010, -0.011, -0.012, -0.013, -0.014, -0.015, -0.016, -0.016, -0.017,
2138  -0.017, -0.018, -0.018, -0.018, -0.019, -0.019, -0.019, -0.019, -0.019,
2139  -0.019, -0.019, -0.019, -0.019, -0.019, -0.019, -0.019, -0.019, -0.019,
2140  -0.019, -0.018, -0.018, -0.018, -0.018, -0.017, -0.017, -0.017, -0.017,
2141  -0.016, -0.016, -0.016, -0.015, -0.015, -0.015, -0.015, -0.014, -0.014,
2142  -0.014, -0.013, -0.013, -0.013, -0.012, -0.012, -0.012, -0.012, -0.011,
2143  -0.011, -0.011},
2144  {// charge = 465 fC
2145  0.000, -0.001, 0.014, 0.052, 0.109, 0.183, 0.271, 0.370, 0.477,
2146  0.588, 0.701, 0.813, 0.922, 1.028, 1.130, 1.223, 1.305, 1.361,
2147  1.393, 1.409, 1.421, 1.430, 1.435, 1.438, 1.439, 1.439, 1.437,
2148  1.433, 1.426, 1.417, 1.405, 1.392, 1.378, 1.362, 1.345, 1.327,
2149  1.308, 1.287, 1.266, 1.244, 1.220, 1.196, 1.172, 1.146, 1.120,
2150  1.094, 1.067, 1.040, 1.013, 0.986, 0.959, 0.932, 0.905, 0.878,
2151  0.851, 0.825, 0.799, 0.773, 0.747, 0.722, 0.697, 0.673, 0.649,
2152  0.625, 0.602, 0.579, 0.557, 0.535, 0.514, 0.493, 0.472, 0.453,
2153  0.433, 0.414, 0.396, 0.378, 0.361, 0.344, 0.328, 0.312, 0.297,
2154  0.282, 0.267, 0.253, 0.240, 0.227, 0.215, 0.203, 0.191, 0.180,
2155  0.169, 0.159, 0.149, 0.139, 0.130, 0.121, 0.113, 0.105, 0.097,
2156  0.090, 0.083, 0.076, 0.069, 0.063, 0.058, 0.052, 0.047, 0.042,
2157  0.037, 0.033, 0.028, 0.024, 0.021, 0.017, 0.014, 0.011, 0.007,
2158  0.005, 0.002, -0.000, -0.003, -0.005, -0.007, -0.009, -0.010, -0.012,
2159  -0.013, -0.015, -0.016, -0.017, -0.018, -0.019, -0.020, -0.020, -0.021,
2160  -0.021, -0.022, -0.022, -0.023, -0.023, -0.023, -0.024, -0.024, -0.024,
2161  -0.024, -0.024, -0.024, -0.024, -0.024, -0.023, -0.023, -0.023, -0.023,
2162  -0.022, -0.022, -0.022, -0.022, -0.021, -0.021, -0.021, -0.020, -0.020,
2163  -0.020, -0.019, -0.019, -0.018, -0.018, -0.018, -0.017, -0.017, -0.016,
2164  -0.016, -0.016, -0.015, -0.015, -0.015, -0.014, -0.014, -0.013, -0.013,
2165  -0.013, -0.012, -0.012, -0.012, -0.011, -0.011, -0.011, -0.010, -0.010,
2166  -0.010, -0.010, -0.009, -0.009, -0.009, -0.008, -0.008, -0.008, -0.008,
2167  -0.007, -0.007},
2168  {// charge = 480 fC
2169  0.000, -0.001, 0.014, 0.052, 0.109, 0.184, 0.272, 0.372, 0.480,
2170  0.591, 0.705, 0.817, 0.927, 1.032, 1.140, 1.246, 1.324, 1.373,
2171  1.399, 1.416, 1.426, 1.433, 1.436, 1.438, 1.437, 1.433, 1.426,
2172  1.415, 1.401, 1.385, 1.366, 1.346, 1.324, 1.300, 1.275, 1.249,
2173  1.222, 1.194, 1.166, 1.137, 1.107, 1.077, 1.047, 1.017, 0.987,
2174  0.957, 0.927, 0.897, 0.868, 0.839, 0.811, 0.782, 0.755, 0.727,
2175  0.700, 0.674, 0.648, 0.622, 0.598, 0.573, 0.549, 0.526, 0.503,
2176  0.481, 0.460, 0.439, 0.419, 0.399, 0.380, 0.361, 0.343, 0.325,
2177  0.308, 0.292, 0.276, 0.261, 0.246, 0.232, 0.218, 0.205, 0.193,
2178  0.180, 0.169, 0.157, 0.147, 0.136, 0.127, 0.117, 0.108, 0.100,
2179  0.091, 0.083, 0.076, 0.068, 0.062, 0.055, 0.049, 0.043, 0.038,
2180  0.033, 0.028, 0.023, 0.019, 0.015, 0.011, 0.007, 0.004, 0.001,
2181  -0.002, -0.005, -0.008, -0.010, -0.012, -0.015, -0.016, -0.018, -0.020,
2182  -0.021, -0.023, -0.024, -0.025, -0.026, -0.027, -0.028, -0.028, -0.029,
2183  -0.029, -0.030, -0.030, -0.030, -0.030, -0.030, -0.031, -0.031, -0.030,
2184  -0.030, -0.030, -0.030, -0.030, -0.030, -0.029, -0.029, -0.029, -0.028,
2185  -0.028, -0.028, -0.027, -0.027, -0.026, -0.026, -0.025, -0.025, -0.024,
2186  -0.024, -0.023, -0.023, -0.022, -0.022, -0.021, -0.021, -0.020, -0.020,
2187  -0.019, -0.019, -0.018, -0.018, -0.017, -0.017, -0.016, -0.016, -0.015,
2188  -0.015, -0.014, -0.014, -0.013, -0.013, -0.013, -0.012, -0.012, -0.012,
2189  -0.011, -0.011, -0.010, -0.010, -0.010, -0.009, -0.009, -0.009, -0.008,
2190  -0.008, -0.008, -0.008, -0.007, -0.007, -0.007, -0.007, -0.006, -0.006,
2191  -0.006, -0.006},
2192  {// charge = 495 fC
2193  0.000, -0.001, 0.014, 0.053, 0.110, 0.185, 0.274, 0.374, 0.482,
2194  0.594, 0.708, 0.820, 0.929, 1.041, 1.155, 1.259, 1.333, 1.378,
2195  1.403, 1.419, 1.428, 1.434, 1.436, 1.436, 1.433, 1.426, 1.414,
2196  1.398, 1.379, 1.357, 1.333, 1.306, 1.278, 1.248, 1.218, 1.187,
2197  1.155, 1.122, 1.089, 1.056, 1.023, 0.990, 0.958, 0.925, 0.893,
2198  0.861, 0.830, 0.799, 0.769, 0.739, 0.710, 0.682, 0.653, 0.626,
2199  0.599, 0.573, 0.547, 0.522, 0.498, 0.475, 0.452, 0.429, 0.408,
2200  0.387, 0.367, 0.347, 0.328, 0.310, 0.292, 0.275, 0.259, 0.243,
2201  0.228, 0.213, 0.199, 0.185, 0.172, 0.160, 0.148, 0.137, 0.126,
2202  0.115, 0.105, 0.096, 0.087, 0.078, 0.070, 0.063, 0.054, 0.048,
2203  0.041, 0.035, 0.029, 0.024, 0.018, 0.013, 0.009, 0.004, 0.000,
2204  -0.003, -0.007, -0.010, -0.013, -0.016, -0.019, -0.021, -0.024, -0.026,
2205  -0.028, -0.029, -0.031, -0.032, -0.033, -0.035, -0.035, -0.036, -0.037,
2206  -0.038, -0.038, -0.039, -0.039, -0.039, -0.039, -0.039, -0.039, -0.039,
2207  -0.039, -0.039, -0.039, -0.039, -0.038, -0.038, -0.037, -0.037, -0.036,
2208  -0.036, -0.035, -0.035, -0.034, -0.034, -0.033, -0.033, -0.032, -0.031,
2209  -0.030, -0.030, -0.029, -0.029, -0.028, -0.027, -0.026, -0.026, -0.025,
2210  -0.025, -0.024, -0.023, -0.022, -0.022, -0.021, -0.021, -0.020, -0.019,
2211  -0.019, -0.018, -0.018, -0.017, -0.017, -0.016, -0.016, -0.015, -0.015,
2212  -0.014, -0.013, -0.013, -0.013, -0.012, -0.012, -0.011, -0.011, -0.011,
2213  -0.010, -0.010, -0.009, -0.009, -0.009, -0.008, -0.008, -0.008, -0.007,
2214  -0.007, -0.007, -0.007, -0.006, -0.006, -0.006, -0.006, -0.006, -0.005,
2215  -0.005, -0.005},
2216  {// charge = 510 fC
2217  0.000, -0.001, 0.015, 0.053, 0.111, 0.186, 0.275, 0.376, 0.484,
2218  0.597, 0.710, 0.823, 0.934, 1.049, 1.165, 1.267, 1.338, 1.381,
2219  1.405, 1.420, 1.429, 1.434, 1.436, 1.435, 1.430, 1.420, 1.405,
2220  1.385, 1.362, 1.335, 1.307, 1.276, 1.243, 1.210, 1.176, 1.141,
2221  1.106, 1.070, 1.034, 0.999, 0.964, 0.929, 0.895, 0.861, 0.828,
2222  0.795, 0.763, 0.731, 0.700, 0.670, 0.640, 0.611, 0.583, 0.556,
2223  0.529, 0.503, 0.478, 0.453, 0.430, 0.407, 0.384, 0.363, 0.342,
2224  0.322, 0.303, 0.284, 0.266, 0.249, 0.232, 0.216, 0.201, 0.186,
2225  0.172, 0.159, 0.146, 0.133, 0.122, 0.110, 0.100, 0.089, 0.080,
2226  0.071, 0.062, 0.053, 0.046, 0.038, 0.031, 0.025, 0.018, 0.012,
2227  0.007, 0.002, -0.003, -0.007, -0.012, -0.016, -0.019, -0.022, -0.025,
2228  -0.028, -0.031, -0.033, -0.036, -0.038, -0.039, -0.041, -0.042, -0.044,
2229  -0.045, -0.046, -0.047, -0.047, -0.048, -0.048, -0.049, -0.049, -0.049,
2230  -0.049, -0.049, -0.049, -0.049, -0.048, -0.048, -0.048, -0.047, -0.047,
2231  -0.046, -0.046, -0.045, -0.044, -0.044, -0.043, -0.042, -0.042, -0.041,
2232  -0.040, -0.039, -0.038, -0.038, -0.037, -0.036, -0.035, -0.034, -0.033,
2233  -0.032, -0.032, -0.031, -0.030, -0.029, -0.028, -0.028, -0.027, -0.026,
2234  -0.025, -0.024, -0.024, -0.023, -0.022, -0.021, -0.021, -0.020, -0.019,
2235  -0.019, -0.018, -0.017, -0.017, -0.016, -0.016, -0.015, -0.015, -0.014,
2236  -0.014, -0.013, -0.013, -0.012, -0.012, -0.011, -0.011, -0.010, -0.010,
2237  -0.010, -0.009, -0.009, -0.008, -0.008, -0.008, -0.007, -0.007, -0.007,
2238  -0.007, -0.006, -0.006, -0.006, -0.006, -0.005, -0.005, -0.005, -0.005,
2239  -0.005, -0.004},
2240  {// charge = 525 fC
2241  0.000, -0.001, 0.015, 0.054, 0.112, 0.187, 0.277, 0.377, 0.486,
2242  0.599, 0.713, 0.825, 0.939, 1.056, 1.172, 1.272, 1.342, 1.383,
2243  1.406, 1.421, 1.430, 1.435, 1.436, 1.435, 1.428, 1.416, 1.398,
2244  1.376, 1.350, 1.321, 1.289, 1.255, 1.220, 1.184, 1.147, 1.110,
2245  1.072, 1.035, 0.997, 0.960, 0.924, 0.888, 0.852, 0.817, 0.783,
2246  0.749, 0.717, 0.684, 0.653, 0.622, 0.593, 0.564, 0.535, 0.508,
2247  0.481, 0.455, 0.430, 0.406, 0.383, 0.360, 0.338, 0.317, 0.297,
2248  0.277, 0.259, 0.241, 0.223, 0.207, 0.191, 0.175, 0.161, 0.147,
2249  0.134, 0.121, 0.109, 0.097, 0.086, 0.076, 0.066, 0.057, 0.048,
2250  0.039, 0.032, 0.024, 0.017, 0.011, 0.004, -0.001, -0.007, -0.012,
2251  -0.017, -0.021, -0.025, -0.029, -0.032, -0.036, -0.039, -0.041, -0.044,
2252  -0.046, -0.048, -0.050, -0.051, -0.053, -0.054, -0.055, -0.056, -0.056,
2253  -0.057, -0.058, -0.058, -0.058, -0.058, -0.058, -0.058, -0.058, -0.058,
2254  -0.057, -0.057, -0.056, -0.056, -0.055, -0.054, -0.054, -0.053, -0.052,
2255  -0.051, -0.050, -0.050, -0.049, -0.048, -0.047, -0.046, -0.045, -0.044,
2256  -0.043, -0.042, -0.041, -0.040, -0.039, -0.038, -0.037, -0.036, -0.035,
2257  -0.034, -0.033, -0.032, -0.031, -0.030, -0.029, -0.028, -0.028, -0.027,
2258  -0.026, -0.025, -0.024, -0.023, -0.022, -0.022, -0.021, -0.020, -0.020,
2259  -0.019, -0.018, -0.017, -0.017, -0.016, -0.016, -0.015, -0.015, -0.014,
2260  -0.013, -0.013, -0.012, -0.012, -0.011, -0.011, -0.011, -0.010, -0.010,
2261  -0.009, -0.009, -0.008, -0.008, -0.008, -0.007, -0.007, -0.007, -0.007,
2262  -0.006, -0.006, -0.006, -0.006, -0.005, -0.005, -0.005, -0.005, -0.005,
2263  -0.004, -0.004},
2264  {// charge = 540 fC
2265  0.000, -0.001, 0.015, 0.054, 0.113, 0.188, 0.278, 0.379, 0.487,
2266  0.601, 0.715, 0.827, 0.944, 1.061, 1.177, 1.276, 1.344, 1.384,
2267  1.407, 1.422, 1.430, 1.435, 1.437, 1.435, 1.428, 1.415, 1.395,
2268  1.371, 1.343, 1.312, 1.278, 1.242, 1.205, 1.167, 1.129, 1.090,
2269  1.051, 1.012, 0.974, 0.935, 0.898, 0.861, 0.825, 0.789, 0.754,
2270  0.720, 0.686, 0.654, 0.622, 0.591, 0.561, 0.532, 0.503, 0.476,
2271  0.449, 0.423, 0.399, 0.374, 0.351, 0.329, 0.307, 0.286, 0.266,
2272  0.247, 0.229, 0.211, 0.194, 0.178, 0.163, 0.148, 0.134, 0.120,
2273  0.108, 0.095, 0.084, 0.073, 0.062, 0.052, 0.043, 0.034, 0.026,
2274  0.018, 0.011, 0.004, -0.003, -0.009, -0.014, -0.019, -0.025, -0.029,
2275  -0.033, -0.037, -0.041, -0.044, -0.047, -0.050, -0.052, -0.054, -0.056,
2276  -0.058, -0.060, -0.061, -0.062, -0.063, -0.064, -0.065, -0.065, -0.066,
2277  -0.066, -0.066, -0.066, -0.066, -0.066, -0.065, -0.065, -0.064, -0.064,
2278  -0.063, -0.062, -0.062, -0.061, -0.060, -0.059, -0.058, -0.057, -0.056,
2279  -0.055, -0.054, -0.053, -0.052, -0.051, -0.050, -0.049, -0.048, -0.046,
2280  -0.045, -0.044, -0.043, -0.042, -0.041, -0.040, -0.039, -0.037, -0.036,
2281  -0.035, -0.034, -0.033, -0.032, -0.031, -0.030, -0.029, -0.028, -0.027,
2282  -0.026, -0.025, -0.025, -0.024, -0.023, -0.022, -0.021, -0.021, -0.020,
2283  -0.019, -0.018, -0.018, -0.017, -0.016, -0.016, -0.015, -0.015, -0.014,
2284  -0.013, -0.013, -0.012, -0.012, -0.011, -0.011, -0.010, -0.010, -0.010,
2285  -0.009, -0.009, -0.008, -0.008, -0.008, -0.007, -0.007, -0.007, -0.007,
2286  -0.006, -0.006, -0.006, -0.005, -0.005, -0.005, -0.005, -0.005, -0.004,
2287  -0.004, -0.004}};
CbmTrdFASP::fGraphMap
std::vector< std::pair< Int_t, Int_t > > fGraphMap
map of ASIC id and output FASP signals
Definition: CbmTrdFASP.h:135
CbmTrdFASP::fGraphId
Int_t fGraphId
current graph to be filled if draw support is compiled
Definition: CbmTrdFASP.h:132
CbmTrdDigi::GetTimeDAQ
ULong64_t GetTimeDAQ() const
Getter for global DAQ time [clk]. Differs for each ASIC. In FASP case DAQ time is already stored in f...
Definition: CbmTrdDigi.h:131
CbmTrdFASP::fSignal
Float_t fSignal[FASP_WINDOW]
temporary array to store shaper analog signal for current charge interpolation
Definition: CbmTrdFASP.h:122
CbmMatch
Definition: CbmMatch.h:22
CbmTrdFASP::ScanDigiNE
void ScanDigiNE(std::vector< std::pair< CbmTrdDigi *, CbmMatch * >> *digi, Int_t col, Int_t row)
Read digi array for neighbour trigger processing.
Definition: CbmTrdFASP.cxx:612
h
Generates beam ions for transport simulation.
Definition: CbmBeamGenerator.h:17
CbmTrdFASP::fgOutGain
static Float_t fgOutGain
FASP -> ADC gain [V/4095 ADC].
Definition: CbmTrdFASP.h:161
PairAnalysisStyler::fCol
static Int_t fCol[kNidx - kRaw]
Definition: PairAnalysisStyleDefs.h:29
CbmTrdFASP::fRow
Int_t fRow
current row
Definition: CbmTrdFASP.h:107
CbmTrdFASP::GetShaperSignal
void GetShaperSignal(Double_t charge)
Retrive linear interpolation of CADENCE for signal.
Definition: CbmTrdFASP.cxx:228
CbmTrdFASP::fNphys
Int_t fNphys[2]
number of physical digi in the current [0] and next [1] shaper
Definition: CbmTrdFASP.h:110
CbmTrdDigi::IsFlagged
Bool_t IsFlagged(const Int_t iflag) const
Query flag status (generic)
Definition: CbmTrdDigi.cxx:165
CbmTrdFASP::fGraphPhys
TGraph * fGraphPhys[NGRAPH]
graph representations of physics digi
Definition: CbmTrdFASP.h:138
CbmTrdFASP.h
CbmTrdFASP::fHitThPrev
std::vector< bool > fHitThPrev
previous channel hit threshold
Definition: CbmTrdFASP.h:116
memset
void memset(T *dest, T i, size_t num)
Definition: L1Grid.cxx:21
CbmTrdFASP::fTimeDY
Int_t fTimeDY
Time decay from FT [5*ns].
Definition: CbmTrdFASP.h:128
CbmTrdFASP::MakeOut
Double_t MakeOut(Int_t t)
Make convolution of shaper1 superposition and theoretic shaping model (see fgkShaperPar)
Definition: CbmTrdFASP.cxx:271
CbmTrdFASP::~CbmTrdFASP
virtual ~CbmTrdFASP()
Definition: CbmTrdFASP.cxx:84
i
int i
Definition: L1/vectors/P4_F32vec4.h:25
CbmTrdFASP::fgkShaperPar
static const Float_t fgkShaperPar[4]
shaper parameters
Definition: CbmTrdFASP.h:148
CbmTrdFASP::ScanDigi
void ScanDigi(std::vector< std::pair< CbmTrdDigi *, CbmMatch * >> *digi, Int_t col, Int_t row)
Read digi array for single channel processing.
Definition: CbmTrdFASP.cxx:528
CbmTrdFASP::fGraphShp
TGraph * fGraphShp[NGRAPH]
graph representations of FASP shaper
Definition: CbmTrdFASP.h:137
CbmTrdFASP::fShaperNext
std::vector< Float_t > fShaperNext
next channel shaper analog
Definition: CbmTrdFASP.h:118
VERBOSE
#define VERBOSE
Definition: CbmTrdFASP.cxx:24
CbmTrdFASP::fgkShaperLUT
static const Float_t fgkShaperLUT[SHAPER_LUT]
shaper LUT
Definition: CbmTrdFASP.h:149
CbmTrdDigi::SetFlag
void SetFlag(const Int_t iflag, Bool_t set=kTRUE)
Generic flag status setter.
Definition: CbmTrdDigi.cxx:215
CbmTrdFASP::fDigiProc
std::vector< std::tuple< UInt_t, UInt_t, UInt_t, Bool_t > > fDigiProc
proccessed info <hit_time[ns], CS_time[ns], OUT[ADC], trigger>
Definition: CbmTrdFASP.h:120
CbmTrdFASP::fProcTime
UInt_t fProcTime
time window [ns] for actual digi processing (excluded fgkBufferKeep)
Definition: CbmTrdFASP.h:105
CbmTrdFASP::fNraw
Int_t fNraw
number of raw digi for the tilt channel
Definition: CbmTrdFASP.h:111
CbmTrdFASP::fStartTime
ULong64_t fStartTime
time offset [ns] for the current simulation
Definition: CbmTrdFASP.h:103
CbmTrdParFaspChannel
Definition of FASP channel calibration container.
Definition: CbmTrdParFasp.h:18
CbmTrdDigi::kFASP
@ kFASP
Definition: CbmTrdDigi.h:16
CbmMatch.h
NGRAPH
#define NGRAPH
Definition: CbmTrdFASP.h:21
CbmTrdFASP::fMonitor
TCanvas * fMonitor
monitor canvas when drawing
Definition: CbmTrdFASP.h:140
CbmTrdFASP::fShaper
std::vector< Float_t > fShaper
current channel shaper analog
Definition: CbmTrdFASP.h:117
CbmTrdDigi.h
CbmTrdDigi::Clk
static Float_t Clk(CbmTrdAsicType ty)
DAQ clock accessor for each ASIC.
Definition: CbmTrdDigi.h:87
CbmTrdFASP::ProcessShaper
Int_t ProcessShaper(Char_t typ='T')
Calculate output FASP signal and CS timming for the signal array stored in fShaper.
Definition: CbmTrdFASP.cxx:341
buffer
@ buffer
Definition: CbmMvdSensorPlugin.h:22
CbmTrdFASP::fgkCharge
static const Float_t fgkCharge[fgkNDB]
DB input charge discretization.
Definition: CbmTrdFASP.h:144
CbmTrdFASP::fgNeighbour
static Bool_t fgNeighbour
Neighbour enable flag.
Definition: CbmTrdFASP.h:156
CbmTrdFASP
FASP channel simulator.
Definition: CbmTrdFASP.h:24
CbmTrdFASP::fOut
std::vector< Float_t > fOut
analog output for the current channel
Definition: CbmTrdFASP.h:133
ClassImp
ClassImp(CbmConverterManager) InitStatus CbmConverterManager
Definition: CbmConverterManager.cxx:12
CbmTrdFASP::fgNeighbourThr
static Float_t fgNeighbourThr
neighbour threshold [V] for fgNeighbour=kTRUE
Definition: CbmTrdFASP.h:158
first
bool first
Definition: LKFMinuit.cxx:143
CbmTrdFASP::fDigi
std::vector< std::pair< CbmTrdDigi *, CbmMatch * > > * fDigi
link to digi vector to be transformed
Definition: CbmTrdFASP.h:113
CbmTrdFASP::fgkNDB
static const Int_t fgkNDB
DB shaper size.
Definition: CbmTrdFASP.h:143
CbmTrdFASP::Print
virtual void Print(Option_t *opt="") const
Print-out FASP analog/digital response to currently stored data.
Definition: CbmTrdFASP.cxx:310
CbmTrdFASP::Draw
virtual void Draw(Option_t *opt="")
Graphical representation of FASP analog/digital response to currently stored data.
Definition: CbmTrdFASP.cxx:109
SHAPER_LUT
#define SHAPER_LUT
Definition: CbmTrdFASP.h:20
CbmTrdFASP::Clear
virtual void Clear(Option_t *opt="")
Finalize currently stored data.
Definition: CbmTrdFASP.cxx:97
CbmTrdFASP::fTimeFT
Int_t fTimeFT
Chip Select time legth [5*ns].
Definition: CbmTrdFASP.h:127
CbmTrdFASP::Init
virtual void Init(Int_t col, CbmTrdParFaspChannel *par)
[Re]Start processing of one channel
Definition: CbmTrdFASP.cxx:268
CbmTrdFASP::fgkNclkFT
static const Int_t fgkNclkFT
length of flat top in FASP clocks
Definition: CbmTrdFASP.h:154
CbmTrdFASP::fGthr
TLine * fGthr
graph representation of various thresholds
Definition: CbmTrdFASP.h:139
CbmTrdFASP::fFT
Float_t fFT
Flat Top value [V].
Definition: CbmTrdFASP.h:129
CbmTrdFASP::Go
virtual Bool_t Go(ULong64_t time)
Check if there is enough time elapsed from fStartTime to run simulator.
Definition: CbmTrdFASP.cxx:206
CbmTrdDigi::GetTriggerType
Int_t GetTriggerType() const
Channel trigger type. SPADIC specific see CbmTrdTriggerType.
Definition: CbmTrdDigi.h:135
CbmTrdFASP::fCol
Int_t fCol
current column
Definition: CbmTrdFASP.h:106
CbmTrdFASP::fGraph
TGraph * fGraph[NGRAPH]
graph representations of analog FASP response
Definition: CbmTrdFASP.h:136
CbmTrdFASP::fTimeLG
Int_t fTimeLG
Linear gate time length [5*ns].
Definition: CbmTrdFASP.h:126
CbmTrdDigi
Definition: CbmTrdDigi.h:14
CbmTrdDigi::GetTime
Double_t GetTime() const
Getter for physical time [ns]. Accounts for clock representation of each ASIC. In SPADIC case physica...
Definition: CbmTrdDigi.h:127
CbmTrdFASP::PhysToRaw
virtual void PhysToRaw(std::vector< std::pair< CbmTrdDigi *, CbmMatch * >> *digi, Int_t col=0, Int_t row=0)
Convert physics information in digi to the raw format.
Definition: CbmTrdFASP.cxx:296
FASP_WINDOW
#define FASP_WINDOW
Definition: CbmTrdFASP.h:19
CbmTrdFASP::fgkBufferKeep
static const Int_t fgkBufferKeep
length of buffer time in 5ns which is kept between cycles
Definition: CbmTrdFASP.h:165
CbmTrdFASP::SetProcTime
void SetProcTime(ULong64_t t=0)
Set limit in time for processing digis.
Definition: CbmTrdFASP.cxx:798
CbmTrdFASP::fgkShaper
static const Float_t fgkShaper[fgkNDB][FASP_WINDOW]
DB shaper signals for each input charge discretization.
Definition: CbmTrdFASP.h:147
max
friend F32vec4 max(const F32vec4 &a, const F32vec4 &b)
Definition: L1/vectors/P4_F32vec4.h:36
CbmTrdFASP::fgNclkLG
static Int_t fgNclkLG
length of linear-gate command in FASP clocks
Definition: CbmTrdFASP.h:155
CbmTrdDigi::GetCharge
Double_t GetCharge() const
Charge getter for SPADIC.
Definition: CbmTrdDigi.cxx:133
CbmTrdFASP::fgkDecayLUT
static const Float_t fgkDecayLUT[SHAPER_LUT]
forced discharged of FASP LUT
Definition: CbmTrdFASP.h:151
DRAW
#define DRAW
Definition: CbmTrdFASP.cxx:25
CbmTrdFASP::CbmTrdFASP
CbmTrdFASP(UInt_t uslice=1000)
Constructor of FASP simulator.
Definition: CbmTrdFASP.cxx:40
CbmTrdFASP::WriteDigi
void WriteDigi()
Write processed digi to output array.
Definition: CbmTrdFASP.cxx:807
CbmTrdFASP::fgShaperThr
static Float_t fgShaperThr
shaper threshold [V]
Definition: CbmTrdFASP.h:159
CbmMatch::ToString
virtual std::string ToString() const
Return string representation of the object.
Definition: CbmMatch.cxx:21
CbmTrdFASP::fAsicId
Int_t fAsicId
identifier of FASP in module
Definition: CbmTrdFASP.h:108
CbmTrdFASP::fgBaseline
static Float_t fgBaseline
FASP baseline [V].
Definition: CbmTrdFASP.h:160
CbmTrdDigi::ToString
std::string ToString() const
String representation of a TRD digi. Account for digi type and specific information.
Definition: CbmTrdDigi.cxx:243