All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
IFieldResponse.h
Go to the documentation of this file.
1 ///////////////////////////////////////////////////////////////////////
2 ///
3 /// \file IFieldResponse.h
4 ///
5 /// \brief This is the interface class for a tool to handle the field response
6 /// It is assumed that the field response is described in a to be
7 /// input histogram, the member
8 ///
9 /// \author T. Usher
10 ///
11 ////////////////////////////////////////////////////////////////////////
12 
13 #ifndef IFieldResponse_H
14 #define IFieldResponse_H
15 
16 #include "fhiclcpp/ParameterSet.h"
18 
19 namespace art
20 {
21  class TFileDirectory;
22 }
23 
24 namespace icarus_tool
25 {
27  {
28  public:
29  virtual ~IFieldResponse() noexcept = default;
30 
31  virtual void configure(const fhicl::ParameterSet& pset) = 0;
32  virtual void setResponse(double weight, double correct3D, double timeScaleFctr) = 0;
33  virtual void outputHistograms(art::TFileDirectory&) const = 0;
34 
35  virtual size_t getPlane() const = 0;
36  virtual size_t getResponseType() const = 0;
37  virtual size_t getNumBins() const = 0;
38  virtual double getBinCenter(int bin) const = 0;
39  virtual double getBinContent(int bin) const = 0;
40  virtual double getLowEdge() const = 0;
41  virtual double getHighEdge() const = 0;
42  virtual double getBinWidth() const = 0;
43  virtual double getTOffset() const = 0;
44  virtual double getIntegral() const = 0;
45  virtual double interpolate(double x) const = 0;
46 
47  virtual const icarusutil::TimeVec& getResponseVec() const = 0;
48  virtual const icarusutil::FrequencyVec& getResponseFFTVec() const = 0;
49  };
50 }
51 
52 #endif
virtual void configure(const fhicl::ParameterSet &pset)=0
process_name opflash particleana ie x
virtual double getHighEdge() const =0
virtual const icarusutil::FrequencyVec & getResponseFFTVec() const =0
virtual double getLowEdge() const =0
virtual size_t getResponseType() const =0
virtual const icarusutil::TimeVec & getResponseVec() const =0
std::vector< ComplexVal > FrequencyVec
virtual size_t getPlane() const =0
virtual double getBinContent(int bin) const =0
constexpr details::BinObj< T > bin(T value)
Returns a wrapper to print the specified data in binary format.
virtual void setResponse(double weight, double correct3D, double timeScaleFctr)=0
virtual double getIntegral() const =0
virtual double getBinWidth() const =0
std::vector< SigProcPrecision > TimeVec
virtual ~IFieldResponse() noexcept=default
virtual double getBinCenter(int bin) const =0
virtual void outputHistograms(art::TFileDirectory &) const =0
virtual double interpolate(double x) const =0
virtual double getTOffset() const =0
Useful definitions.
virtual size_t getNumBins() const =0