All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
icaruscode/icaruscode/TPC/SignalProcessing/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 IICARUSPeakFitter_H
13 #define IICARUSPeakFitter_H
14 
15 #include "fhiclcpp/ParameterSet.h"
17 
18 namespace reco_tool
19 {
21  {
22  public:
23  virtual ~IPeakFitter() noexcept = default;
24 
25  // Define standard art tool interface
26  virtual void configure(const fhicl::ParameterSet& pset) = 0;
27 
28  // Define a structure to contain hits
29  using PeakFitParams_t = struct PeakFitParams
30  {
31  float peakCenter;
33  float peakSigma;
37  float peakTauLeft;
39  float peakTauRight;
41  float peakBaseline;
43  };
44 
45  using PeakParamsVec = std::vector<PeakFitParams_t>;
46 
47  // Get parameters for input candidate peaks
48  virtual void findPeakParameters(const std::vector<float>&,
51  double&,
52  int&) const = 0;
53  };
54 }
55 
56 #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 void configure(const fhicl::ParameterSet &pset)=0
virtual ~IPeakFitter() noexcept=default
std::vector< HitCandidate > HitCandidateVec