23 int main(
int argc,
char **argv)
30 JPMTParameters parameters;
35 JProperties properties = parameters.getProperties();
37 JParser<> zap(
"Example program to test generation of transit times using PMT simulator.");
46 catch(
const exception &error) {
47 FATAL(error.what() << endl);
52 cout <<
"PMT parameters:" << endl;
56 const JPMTIdentifier pmt(1,0);
57 const JCalibration calibration;
59 const JPMTDefaultSimulator simulator(parameters, pmt);
64 JPMTData<JPMTSignal> input;
65 JPMTData<JPMTPulse> output;
68 TH1D h1(
"tts", NULL, 120, -20.0, +100.0);
70 for (
int i = 0; i != numberOfHits; ++i) {
72 const double t_ns = 0.0;
74 const double W = 1.0 / (double) numberOfHits;
79 input.push_back(JPMTSignal(t_ns, npe));
81 simulator.processHits(pmt, calibration, input, output);
83 for (JPMTData<JPMTPulse>::const_iterator hit = output.begin(); hit != output.end(); ++hit) {
84 h1.Fill(hit->t_ns, W);