ChannelNoiseService.h
Go to the documentation of this file.
1 // ChannelNoiseService.h
2 
3 // David Adams
4 // December 2015
5 //
6 // Interface for a service that adds noise to a TPC signal vector.
7 
8 #ifndef ChannelNoiseService_H
9 #define ChannelNoiseService_H
10 
11 #include <vector>
12 #include <iostream>
14 
15 namespace detinfo {
16  class DetectorClocksData;
17  class DetectorPropertiesData;
18 }
19 
21 
22 public:
23 
24  typedef unsigned int Channel;
25 
26  virtual ~ChannelNoiseService() =default;
27 
28  // Add noise to a signal vector sigs appropriate for channel chan.
29  // Noise is added for all entries in the input vector.
30  virtual int addNoise(detinfo::DetectorClocksData const& clockData,
31  detinfo::DetectorPropertiesData const& detProp,
32  Channel chan, AdcSignalVector& sigs) const =0;
33  virtual void newEvent() {};
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
General LArSoft Utilities.
Contains all timing reference information for the detector.
std::vector< AdcSignal > AdcSignalVector
Definition: AdcTypes.h:22
#define DECLARE_ART_SERVICE_INTERFACE(svc, scope)