PedestalEvaluationService.h
Go to the documentation of this file.
1 // PedestalEvaluationService.h
2 
3 #ifndef PedestalEvaluationService_H
4 #define PedestalEvaluationService_H
5 
6 // David Adams
7 // May 2016
8 //
9 // Interface for a service that uses a vector of ADC signals to estimate
10 // the pedestal for a channel.
11 
12 #include <iostream>
14 
16 
17 public:
18 
19  virtual ~PedestalEvaluationService() = default;
20 
21  // Extract the channel, signals and flags. All are pointer types so the caller can use null to
22  // indicate any of the fields are not of interest.
23  // sigs - Input signal vector
24  // *pped - Pedestal
25  // *prem - Pedestal RMS
26  // *ppederr - Uncertainty in the pedestal
27  // *premerr - Uncertainty in the pedestal RMS
28  // The last four arguments are output values. Null values may be used to indicate the value
29  // is not used and need not be calculated.
30  virtual int evaluate(const AdcChannelData& data,
31  AdcSignal* pped =nullptr, AdcSignal* prms =nullptr,
32  AdcSignal* ppederr =nullptr, AdcSignal* prmserr =nullptr) const =0;
33 
34  // Print parameters.
35  virtual std::ostream& print(std::ostream& out =std::cout, std::string prefix ="") const =0;
36 
37 };
38 
39 #ifndef __CLING__
42 #endif
43 
44 #endif
std::string string
Definition: nybbler.cc:12
float AdcSignal
Definition: AdcTypes.h:21
virtual int evaluate(const AdcChannelData &data, AdcSignal *pped=nullptr, AdcSignal *prms=nullptr, AdcSignal *ppederr=nullptr, AdcSignal *prmserr=nullptr) const =0
virtual std::ostream & print(std::ostream &out=std::cout, std::string prefix="") const =0
virtual ~PedestalEvaluationService()=default
#define DECLARE_ART_SERVICE_INTERFACE(svc, scope)