1 #ifndef _RdBeamTimeOptimizer_h_
2 #define _RdBeamTimeOptimizer_h_
14 #include <fwk/VModule.h>
15 #include <utl/Vector.h>
16 #include <utl/Trace.h>
17 #include <utl/Triple.h>
19 #include <revt/REvent.h>
20 #include <evt/ShowerRRecData.h>
22 #include <revt/Station.h>
23 #include <revt/StationRecData.h>
25 #include <Minuit2/FCNBase.h>
91 const std::string &)
const;
109 const evt::BeamPeak &pwPeak,
110 const evt::BeamPeak &ccPeak,
111 const evt::BeamPeak &xPeak,
118 const evt::BeamPeak &pwPeak,
119 const evt::BeamPeak &ccPeak,
120 const evt::BeamPeak &xPeak,
126 int start,
int stop)
const;
132 int start,
int stop)
const;
155 return - (peak.GetHeight() / peak.GetRMS() );
157 double Up()
const {
return 0.5; }
173 return - ( peak.GetHeight() / peak.GetRMS() );
175 double Up()
const {
return 0.5; }
std::vector< double > delaysFromRRec(revt::REvent &rEvent, evt::ShowerRRecData &rrec)
void writeRecData(revt::REvent &rEvent, std::vector< double > &shifts)
utl::TraceD crosscorr(revt::REvent &rEvent, evt::ShowerRRecData &rrec, const std::vector< double > &shifts) const
void WriteTrace3D(const utl::TraceD &trace, const std::string &filename, const utl::Triple &coords) const
void efieldproduct(const revt::StationTimeSeries &in1, const revt::StationTimeSeries &in2, utl::TraceD &out, int start, int stop) const
Helper for crosscorr.
Module for fitting time shifts of station traces which give maximal beam signal.
double operator()(const std::vector< double > &pars) const
Interface class to access to the Radio part of an event.
void WriteASCII_XYZ(const utl::TraceD &power, const utl::TraceD &cc, const utl::TraceD &x, const evt::BeamPeak &pwPeak, const evt::BeamPeak &ccPeak, const evt::BeamPeak &xPeak, const utl::Triple &coords) const
Write out results using carthesian CS.
Interface class to access to the RD Reconstruction of a Shower.
virtual ~RdBeamTimeOptimizer()
powerFCN(revt::REvent *rEventP, RdBeamTimeOptimizer *beam)
void efieldtopower(const revt::StationTimeSeries &in, utl::TraceD &out, int start, int stop) const
Helper for powertrace.
RdBeamTimeOptimizer * beam
vector< t2list > out
output of the algorithm: a list of clusters
const phoenix::function< PowerToImpl > power
RdBeamTimeOptimizer * beam
utl::TraceD xtrace(utl::TraceD ccTrace, double ccMean, utl::TraceD pwNormal)
A TimeStamp holds GPS second and nanosecond for some event.
boost::tuple< double, double, double > Triple
Coordinate triple for easy getting or setting of coordinates.
class to hold data at the radio Station level.
fwk::VModule::ResultFlag Finish()
Finish: invoked at end of the run (NOT end of the event)
std::vector< double > shiftsFromRRec(revt::REvent &rEvent, evt::ShowerRRecData &rrec)
void WriteASCIIPolar(const utl::TraceD &power, const utl::TraceD &cc, const utl::TraceD &x, const evt::BeamPeak &pwPeak, const evt::BeamPeak &ccPeak, const evt::BeamPeak &xPeak, const utl::Triple &coords) const
Write out results using polar CS.
void shiftsToDelays(revt::REvent &rEvent, utl::TimeStamp meanTime, std::vector< double > ×)
evt::ShowerRRecData * rrecP
evt::ShowerRRecData * rrecP
ResultFlag
Flag returned by module methods to the RunController.
double operator()(const std::vector< double > &pars) const
evt::BeamPeak findPeak(const utl::TraceD &trace)
void WriteASCIISpectrum(const revt::Station &, const std::string &) const
Writes out a spectrum in an ASCII file.
REGISTER_MODULE("RdBeamTimeOptimizer", RdBeamTimeOptimizer)
void delaysToShifts(revt::REvent &rEvent, utl::TimeStamp meanTime, std::vector< double > ×)
fwk::VModule::ResultFlag Init()
Initialize: invoked at beginning of run (NOT beginning of event)
crossFCN(revt::REvent *rEventP, RdBeamTimeOptimizer *beam)
fwk::VModule::ResultFlag Run(evt::Event &event)
Run: invoked once per event.
Spherical wave arrival Delays for Radio Imaging.
utl::TraceD powertrace(revt::REvent &rEvent, evt::ShowerRRecData &rrec, const std::vector< double > &shifts) const
power beam for given sky position