27int main(
int argc,
char **argv)
42 JParser<> zap(
"Example program to histogram charge distributions.");
55 catch(
const exception &error) {
65 const double dx = JPMTSignalProcessorInterface::getQmin();
66 const double xmin = 0.0 - 0.5*
dx;
67 const int nx = (
int) ((10.0 - xmin) /
dx);
73 const double dx = 0.02;
75 const int nx = (
int) ((10.0 - xmin) /
dx);
91 for (
int i=1; i <=
H0[test]->GetNbinsX(); ++i) {
93 const double npe =
H0[test]->GetBinCenter(i);
94 const double p = cpu->getChargeProbability(npe,NPE);
96 H0[test]->SetBinContent(i,p);
99 if (numberOfHits > 0) {
103 for (
int i = 0; i != numberOfHits; ++i) {
105 const double npe = cpu->getRandomCharge(NPE);
109 if (cpu->applyThreshold(npe)) {
118 DEBUG(exception.what());
123 const double dx = (
H1[test]->GetXaxis()->GetXmax() -
H1[test]->GetXaxis()->GetXmin()) /
H1[test]->
GetXaxis()->GetNbins();
135 for (
auto& i :
H0) { out << *i.second; }
136 for (
auto& i :
H1) { out << *i.second; }
145 for (
int i = 1; i != test; ++i) {
149 for (
int ix = 1;
ix <=
H0[i]->GetNbinsX(); ++
ix) {
156 <<
FIXED(5,3) << x <<
' '
157 <<
FIXED(6,4) << y0 <<
' '
160 ASSERT(fabs(y0 - y1) < precision);
int main(int argc, char **argv)
General purpose messaging.
#define DEBUG(A)
Message macros.
#define ASSERT(A,...)
Assert macro.
PMT analogue signal processor.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
I/O formatting auxiliaries.
Auxiliary class for map of PMT parameters.
Data structure for PMT parameters.
double thresholdBand
threshold-band [npe]
double threshold
threshold [npe]
PMT signal processor interface.
Exception for accessing a value in a collection that is outside of its range.
Template definition of a multi-dimensional oscillation probability interpolation table.
Utility class to parse command line options.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary data structure for floating point format specification.
PMT analogue signal processor.
Empty structure for specification of parser element that is initialised (i.e. does not require input)...