Belle II Software development
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
13double 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
21int 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