RdChannelResponseIncorporator.h
Go to the documentation of this file.
1 #ifndef _RdChannelResponseIncorporator_RdChannelResponseIncorporator_h_
2 #define _RdChannelResponseIncorporator_RdChannelResponseIncorporator_h_
3 
4 #include <fwk/VModule.h>
5 #include <boost/tuple/tuple.hpp>
6 #include <vector>
7 
8 
9 namespace revt {
10  class Channel;
11 }
12 
13 namespace utl {
14  class TabulatedFunctionComplexLgAmpPhase;
15  class ResponseMap;
16  class RandomEngine;
17 }
18 
19 
21 
33 
34  public:
35  fwk::VModule::ResultFlag Init() override;
36  fwk::VModule::ResultFlag Run(evt::Event& event) override;
38 
39  typedef boost::tuple<utl::ResponseMap, utl::TabulatedFunctionComplexLgAmpPhase, long> CacheRecord;
40 
41  private:
42  unsigned int fNumResponsesToCache = 5;
44  mutable long fCacheAsks = 0;
45  mutable long fCacheHits = 0;
46  mutable std::vector<CacheRecord> fCacheRegistry;
53 
56 
58 
62  bool inverse, double lowerfreq, double upperfreq) const;
63 
64  REGISTER_MODULE("RdChannelResponseIncorporator", RdChannelResponseIncorporator);
65  };
66 
67 }
68 
69 
70 #endif
fwk::VModule::ResultFlag Init() override
Initialize: invoked at beginning of run (NOT beginning of event)
const utl::TabulatedFunctionComplexLgAmpPhase & GetCachedOverallResponse(const utl::ResponseMap &responsemap) const
This module accumulates and applies the total detector response for each Channel of the Event...
Class to hold collection (x,y) points and provide interpolation between them, where y are complex num...
Wraps the random number engine used to generate distributions.
Definition: RandomEngine.h:27
utl::TabulatedFunctionComplexLgAmpPhase CalculateOverallResponse(const utl::ResponseMap &responsemap) const
void ApplyResponse(revt::Channel &channel, const utl::TabulatedFunctionComplexLgAmpPhase &response, bool inverse, double lowerfreq, double upperfreq) const
A helper class which manages a list of system response identifiers (std::strings) and their correspon...
Definition: ResponseMap.h:28
Module interface.
Definition: VModule.h:53
ResultFlag
Flag returned by module methods to the RunController.
Definition: VModule.h:60
fwk::VModule::ResultFlag Run(evt::Event &event) override
Run: invoked once per event.
fwk::VModule::ResultFlag Finish() override
Finish: invoked at end of the run (NOT end of the event)
boost::tuple< utl::ResponseMap, utl::TabulatedFunctionComplexLgAmpPhase, long > CacheRecord
Class that holds the data associated to an individual radio channel.
REGISTER_MODULE("RdChannelResponseIncorporator", RdChannelResponseIncorporator)

, generated on Tue Sep 26 2023.