Belle II Software  release-08-01-10
eToADU.cc
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #include <iostream>
10 #include <math.h>
11 
13 double eToADU(double charge)
14 {
15  double minADC = -96000;
16  double maxADC = 288000;
17  double unitADC = (maxADC - minADC) / 1024.0;
18  return round(std::min(maxADC, std::max(minADC, charge)) / unitADC);
19 }
20 
21 int main(int argc, const char* argv[])
22 {
23  if (argc) {
24  int input = atof(argv[1]);
25  std::cout << "Electrons: " << input << " ADU: " << eToADU(input) << std::endl;
26  } else {
27  std::cout << "Give charge in electrons as command-line parameter" << std::endl;
28  }
29  return 0;
30 }
31 
32 
33 
34 
int main(int argc, char **argv)
Run all tests.
Definition: test_main.cc:91