////////////////////////////////////////////////////////////////////////
/// \class RAT::Classifiers::TimingPeaks
///
/// \brief  Looks for Peaks in the timing spectrum
///
/// \author name Phil G Jones <p.g.jones@qmul.ac.uk>
/// \author Evelina Arushanova <e.arushanova@qmul.ac.uk> -- contact person
///
/// REVISION HISTORY:\n
///     26/06/2011 : P G Jones - New file \n
///
/// \details Differentiates the timing spectrum looking for multiple
///         peaks.
///
////////////////////////////////////////////////////////////////////////

#ifndef __RAT_Classifiers_TimingPeaks__
#define __RAT_Classifiers_TimingPeaks__

#include <RAT/Classifier.hh>

namespace RAT
{
namespace Classifiers
{

class TimingPeaks : public Classifier
{
public:
  virtual std::string GetName() const { return TimingPeaks::Name(); }

  static std::string Name() { return std::string( "timingPeaks" ); }

  void Initialise( const std::string& );

  void BeginOfRun( DS::Run& ) { }

  void EndOfRun( DS::Run& ) { }

  virtual DS::ClassifierResult GetClassification();
private:
  double fPeakLevel; ///< Normalised height of a rise for a peak
  int fPeakBinWidth; ///< Width in bins of the rise
};

} //::Classifier

} //::RAT

#endif