RdScintSignalReconstructor.h
Go to the documentation of this file.
1 #ifndef _RdScintSignalReconstructor_h_
2 #define _RdScintSignalReconstructor_h_
3 
4 #include <fwk/VModule.h>
5 #include <revt/Station.h>
6 #include <revt/Channel.h>
7 #include <utl/Point.h>
8 #include <string>
9 #include <vector>
10 #include <map>
11 
12 
13 namespace evt {
14  class Event;
15 }
16 
17 namespace revt {
18  class REvent;
19 }
20 
21 namespace RdScintSignalReconstructor {
22 
24 
25  public:
28 
32 
33  private:
34  enum InfoLevel {
35  eNone = 0,
36  eFinal = 1,
38  eObscure = 3,
39  eDebug = 4
40  };
41 
42  // xml settings
43 
48  unsigned int fMinNumberOfScintTop;
50  unsigned int fMinNumberOfScint;
51  double fMinSignal;
59 
60  struct CalibrationData {
63 
65  };
66  std::map<int, CalibrationData> fCalibrationDataTop;
67  std::map<int, CalibrationData> fCalibrationDataBottom;
68 
69  //std::vector<int> fExcludedStationsId;
70  std::vector<std::string> fExcludedStationsName;
71 
73 
74  // calculates Mean and RMS in selected noise window
75  void Noisefinder(const revt::ChannelTimeSeries& channeltrace, double NoiseWindowStart,
76  double NoiseWindowSize, double& SignalError, unsigned int samples_offset,
77  double& RMSNoise) const;
78 
79  // calculates the amplitude and the position of the maximum in the signal search window
80  void Pulsefinder(const revt::ChannelTimeSeries& channeltrace,
81  double& PeakAmplitude, double& PeakTime, double& PeakTimeError,
82  double SignalWindowStart, double SignalWindowStop, unsigned int& sample,
83  unsigned int samples_offset) const;
84 
85  // calculates the integrated signal in a fixed window
86  void PulseFixedWindowIntegrator(const revt::ChannelTimeSeries& channeltrace, double IntegrationTime,
87  double& IntegratedSignal, double SignalWindowStart,
88  double SignalWindowStop, unsigned int samples_offset) const;
89 
91  void Signalwindowfinder(const revt::ChannelTimeSeries channeltrace, double ScintSearchWindowStart,
92  double ScintSearchWindowStop, double& SignalWindowStart, double& SignalWindowStop,
93  unsigned int sample, unsigned int samples_offset) const;
94 
95  void ComputeBaryCenterTop(const revt::REvent& rEvent, utl::Point& BaryCenterTop) const;
96 
97  void ComputeBaryCenterBottom(const revt::REvent& rEvent, utl::Point& BaryCenterBottom) const;
98 
99  void ComputeBaryCenter(const revt::REvent& rEvent, utl::Point& BaryCenter) const;
100 
101  void ComputeBaryTimeTop(const revt::REvent& rEvent, double& BaryTimeTop) const;
102 
103  void ComputeBaryTimeBottom(const revt::REvent& rEvent, double& BaryTimeBottom) const;
104 
105  void ComputeBaryTime(const revt::REvent& rEvent, double& BaryTime) const;
106 
107  REGISTER_MODULE("RdScintSignalReconstructor", RdScintSignalReconstructor);
108 
109  };
110 
111 }
112 
113 
114 #endif
115 
116 // Configure (x)emacs for this file ...
117 // Local Variables:
118 // mode:c++
119 // compile-command: "make -k"
120 // End:
Point object.
Definition: Point.h:32
void Noisefinder(const revt::ChannelTimeSeries &channeltrace, double NoiseWindowStart, double NoiseWindowSize, double &SignalError, unsigned int samples_offset, double &RMSNoise) const
Interface class to access to the Radio part of an event.
Definition: REvent.h:42
void Signalwindowfinder(const revt::ChannelTimeSeries channeltrace, double ScintSearchWindowStart, double ScintSearchWindowStop, double &SignalWindowStart, double &SignalWindowStop, unsigned int sample, unsigned int samples_offset) const
void ComputeBaryCenterBottom(const revt::REvent &rEvent, utl::Point &BaryCenterBottom) const
fwk::VModule::ResultFlag Run(evt::Event &event)
Run: invoked once per event.
REGISTER_MODULE("RdScintSignalReconstructor", RdScintSignalReconstructor)
void ComputeBaryTimeBottom(const revt::REvent &rEvent, double &BaryTimeBottom) const
void ComputeBaryCenterTop(const revt::REvent &rEvent, utl::Point &BaryCenterTop) const
fwk::VModule::ResultFlag Finish()
Finish: invoked at end of the run (NOT end of the event)
Module interface.
Definition: VModule.h:53
void ComputeBaryTimeTop(const revt::REvent &rEvent, double &BaryTimeTop) const
void Pulsefinder(const revt::ChannelTimeSeries &channeltrace, double &PeakAmplitude, double &PeakTime, double &PeakTimeError, double SignalWindowStart, double SignalWindowStop, unsigned int &sample, unsigned int samples_offset) const
ResultFlag
Flag returned by module methods to the RunController.
Definition: VModule.h:60
fwk::VModule::ResultFlag Init()
Initialize: invoked at beginning of run (NOT beginning of event)
void PulseFixedWindowIntegrator(const revt::ChannelTimeSeries &channeltrace, double IntegrationTime, double &IntegratedSignal, double SignalWindowStart, double SignalWindowStop, unsigned int samples_offset) const
void ComputeBaryTime(const revt::REvent &rEvent, double &BaryTime) const
void ComputeBaryCenter(const revt::REvent &rEvent, utl::Point &BaryCenter) const

, generated on Tue Sep 26 2023.