RdStationInterpolator.h
Go to the documentation of this file.
1 #ifndef _RdStationInterpolator_RdStationInterpolator_h_
2 #define _RdStationInterpolator_RdStationInterpolator_h_
3 
4 #include <fwk/VModule.h>
5 #include <utl/CoordinateSystem.h>
6 #include <utl/TimeStamp.h>
7 #include <vector>
8 
9 #include <utl/FFTDataContainer.h>
10 #include <evt/SimRadioPulse.h>
11 #include <evt/RadioSimulation.h>
12 #include <revt/Station.h>
13 #include <complex>
14 #include <map>
15 #include <utl/Point.h>
16 
17 #include <TRandom2.h>
18 #include <string>
19 
20 namespace evt {
21  class Event;
22  class ShowerSimData;
23 }
24 
25 namespace revt {
26  class Channel;
27 }
28 
29 namespace utl {
30  class Point;
31 }
32 
33 namespace rdet {
34  class RDetector;
35 }
36 
37 
38 namespace RdStationInterpolator {
39 
49 
50  public:
53  VModule::ResultFlag Init();
54  VModule::ResultFlag Run(evt::Event& theevent);
56 
57  private:
58  typedef std::multimap<double,const evt::SimRadioPulse&> PulseMMap;
59 
61  const PulseMMap& mm_srpulse_x, const PulseMMap& mm_srpulse_y) const;
62  PulseMMap FindSurroundingNN(const PulseMMap& mm_simradiopulse, const utl::Point& pt, const utl::CoordinateSystemPtr& coord, const bool inverse) const;
63  std::vector<double> GetAreaOfTriangles(const utl::Point& stationpos, const std::vector<utl::Point>& v_simloc, const utl::CoordinateSystemPtr& coord ) const;
64  revt::StationTimeSeries PadTimeSeries(const evt::SimRadioPulse& simtimeseries) const;
65  revt::StationFFTDataContainer InterpolateInTwoD(const std::vector<revt::StationFFTDataContainer>& simData, const std::vector<double>& area,
66  const double designLowerFreq, const double designUpperFreq) const;
67  void BuildSimShower(evt::ShowerSimData& theshower, const utl::CoordinateSystemPtr& coord);
74  double fEventRate;
78  std::vector<int> fIncludedStationIds;
79  std::vector<int> fExcludedStationIds;
81  unsigned int fEventcounter;
82 
83  enum InfoLevel {
84  eNone = 0,
85  eFinal = 1,
87  eObscure = 3,
88  eMinuit = 4
89  };
90 
91  REGISTER_MODULE("RdStationInterpolator", RdStationInterpolator);
92 
93  };
94 
95 }
96 
97 
98 #endif
fwk::VModule::ResultFlag Finish()
Finish: invoked at end of the run (NOT end of the event)
VModule::ResultFlag Run(evt::Event &theevent)
Run: invoked once per event.
Point object.
Definition: Point.h:32
void BuildSimShower(evt::ShowerSimData &theshower, const utl::CoordinateSystemPtr &coord)
BuildSimShower---------------------------------------------------------------------------------------...
Data structure for simulated Radio pulses.
Definition: SimRadioPulse.h:29
revt::StationFFTDataContainer InterpolateInTwoD(const std::vector< revt::StationFFTDataContainer > &simData, const std::vector< double > &area, const double designLowerFreq, const double designUpperFreq) const
interpolation between closest pulses -&gt; station signal
This class calculates detector pulse with interpolating surrounding simulated pulses.
A TimeStamp holds GPS second and nanosecond for some event.
Definition: TimeStamp.h:110
Interface class to access Shower Simulated parameters.
Definition: ShowerSimData.h:49
VModule::ResultFlag Init()
Initialize: invoked at beginning of run (NOT beginning of event)
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
REGISTER_MODULE("RdStationInterpolator", RdStationInterpolator)
std::vector< double > GetAreaOfTriangles(const utl::Point &stationpos, const std::vector< utl::Point > &v_simloc, const utl::CoordinateSystemPtr &coord) const
weight of the simradiopulses in for interpolation
Module interface.
Definition: VModule.h:53
PulseMMap FindSurroundingNN(const PulseMMap &mm_simradiopulse, const utl::Point &pt, const utl::CoordinateSystemPtr &coord, const bool inverse) const
find the surrounding four nearest neighbors
Template class for a data container that offers and takes both time series and corresponding frequenc...
A TimeInterval is used to represent time elapsed between two events.
Definition: TimeInterval.h:43
ResultFlag
Flag returned by module methods to the RunController.
Definition: VModule.h:60
Template class for a FADC data or calibrated data container. Use the typedefs (TraceD, TraceI, etc.) defined in Trace-fwd.h.
Definition: Trace-fwd.h:19
PulseMMap FindClosestSimPulsesToStation(const utl::Point &pt, const utl::CoordinateSystemPtr &coord, const PulseMMap &mm_srpulse_x, const PulseMMap &mm_srpulse_y) const
find distances of SimPulses to station
std::multimap< double, const evt::SimRadioPulse & > PulseMMap
revt::StationTimeSeries PadTimeSeries(const evt::SimRadioPulse &simtimeseries) const
padding of zeros to the end of the simtimeseries

, generated on Tue Sep 26 2023.