void TaskD::exec()
{
  // A dummy analysis example:
  JPetPhysSignal currSignal = (JPetPhysSignal&) (*getEvent());
  
  // increment the counter of signals
  getStatistics().getCounter("No. initial signals")++;

  if (fSignals.empty()) {
    fSignals.push_back(currSignal);
  } else {
    if (fSignals[0].getTimeWindowIndex() == currSignal.getTimeWindowIndex()) {
      fSignals.push_back(currSignal);
    } else {
      getStatistics().getHisto1D("No. signals in TSlot").Fill(fSignals.size());
      saveHits(createHits(fSignals)); //create LORs from previously saved signals
      fSignals.clear();
      fSignals.push_back(currSignal);
    }
  }
}