All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ICoherentNoiseFactor.h
Go to the documentation of this file.
1 ///////////////////////////////////////////////////////////////////////
2 ///
3 /// \file ICoherentNoiseFactor
4 ///
5 /// \brief Interface class to recover the coherent noise scale factor
6 /// on a readout board basis (which spans planes)
7 ///
8 /// \author T. Usher
9 ///
10 ////////////////////////////////////////////////////////////////////////
11 
12 #ifndef ICoherentNoiseFactor_H
13 #define ICoherentNoiseFactor_H
14 
15 #include "art/Framework/Services/Registry/ServiceDeclarationMacros.h"
16 
17 #include <vector>
18 #include <string>
19 
20 class TH1D;
21 
22 namespace Noise {
23 
24 class ICoherentNoiseFactor //: private lar::EnsureOnlyOneSchedule
25 {
26 public:
27  virtual ~ICoherentNoiseFactor() noexcept = default;
28 
29  // Reset factors
30  virtual void resetCoherentNoiseFactors(const TH1D*) = 0;
31 
32  // Recover the coherent noise factor
33  virtual float getCoherentNoiseFactor(unsigned int, unsigned int) const = 0;
34 };
35 
36 } // end of namespace
37 
38 DECLARE_ART_SERVICE_INTERFACE(Noise::ICoherentNoiseFactor, SHARED)
39 
40 #endif
virtual ~ICoherentNoiseFactor() noexcept=default
virtual void resetCoherentNoiseFactors(const TH1D *)=0
virtual float getCoherentNoiseFactor(unsigned int, unsigned int) const =0