All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
larreco/larreco/HitFinder/HitFinderTools/IPeakFitter.h
Go to the documentation of this file.
1 ///////////////////////////////////////////////////////////////////////
2 ///
3 /// \file IPeakFitter.h
4 ///
5 /// \brief This provides an interface for tools which are tasked with
6 /// fitting peaks on input waveforms
7 ///
8 /// \author T. Usher
9 ///
10 ////////////////////////////////////////////////////////////////////////
11 
12 #ifndef IPeakFitter_H
13 #define IPeakFitter_H
14 
16 
17 #include <vector>
18 
19 namespace reco_tool
20 {
21  class IPeakFitter
22  {
23  public:
24  // Define standard art tool interface
25 
26  // Define a structure to contain hits
28  {
29  float peakCenter;
31  float peakSigma;
35  };
36 
37  using PeakParamsVec = std::vector<PeakFitParams_t>;
38  virtual ~IPeakFitter() = default;
39  // Get parameters for input candidate peaks
40  virtual void findPeakParameters(const std::vector<float>&,
43  double&,
44  int&) const = 0;
45  };
46 }
47 
48 #endif
virtual void findPeakParameters(const std::vector< float > &, const ICandidateHitFinder::HitCandidateVec &, PeakParamsVec &, double &, int &) const =0
This provides an interface for tools which are tasked with finding candidate hits on input waveforms...
virtual ~IPeakFitter() noexcept=default
std::vector< HitCandidate > HitCandidateVec