All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CoherentNoiseFactorProvider.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 /// \file icaruscode/TPC/Simulation/DetSim/tools/CoherentNoiseFactorProvider.h
3 /// \author T. Usher (factorised by Gianluca Petrillo, petrillo@slac.stanford.edu)
4 /// \see icaruscode/TPC/Simulation/DetSim/tools/CoherentNoiseFactorProvider.cxx
5 ////////////////////////////////////////////////////////////////////////
6 
7 #ifndef ICARUSCODE_TPC_CoherentNoiseFactorPROVIDER_H
8 #define ICARUSCODE_TPC_CoherentNoiseFactorPROVIDER_H
9 
10 // ICARUS libraries
12 
13 // framework libraries
14 #include "fhiclcpp/ParameterSet.h"
15 #include "cetlib_except/exception.h"
16 
17 // C/C++ standard libraries
18 #include <string>
19 #include <memory> // std::unique_ptr<>
20 
21 
22 // -----------------------------------------------------------------------------
23 namespace Noise { class CoherentNoiseFactorProvider; }
25 {
26 public:
27 
28  // Constructor, destructor.
29  CoherentNoiseFactorProvider(const fhicl::ParameterSet& pset);
30 
31  // Reset factors
32  void resetCoherentNoiseFactors(const TH1D*) override;
33 
34  // Recover the coherent noise factor
35  float getCoherentNoiseFactor(unsigned int, unsigned int) const override;
36 
37 private:
38 
40 
41  using CorrFactorsMap = std::map<unsigned int, std::vector<float>>;
42 
44 
45 }; // Noise::CoherentNoiseFactorProvider
46 
47 
48 // -----------------------------------------------------------------------------
49 
50 #endif
CoherentNoiseFactorProvider(const fhicl::ParameterSet &pset)
std::map< unsigned int, std::vector< float >> CorrFactorsMap
void resetCoherentNoiseFactors(const TH1D *) override
float getCoherentNoiseFactor(unsigned int, unsigned int) const override