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);