RdHyperbolicWavefrontFit.h
Go to the documentation of this file.
1 #ifndef _RdHyperbolicWavefrontFit_h_
2 #define _RdHyperbolicWavefrontFit_h_
3 
4 #include <fwk/VModule.h>
5 #include <revt/Station.h>
6 #include <revt/Channel.h>
7 #include <string>
8 #include <vector>
9 #include <utl/CoordinateSystem.h>
10 #include <utl/Vector.h>
11 #include <utl/Point.h>
12 
13 
14 namespace evt {
15  class Event;
16 }
17 
18 namespace revt {
19  class Channel;
20 }
21 
22 namespace RdHyperbolicWavefrontFit {
23 
33  struct FitParameters {
34 
35  // !!! all angles in rad !!!
36  double u = 0;
37  double uError = 0;
38  double v = 0;
39  double vError = 0;
40 
41  double gamma = 0;
42  double gammaError = 0;
43 
44  double t0 = 0;
45  double t0Error = 0;
46 
47  int status = 0;
48  int nCalls = 0;
49  double minChi = 0;
50  int NDF = 0;
51  double recStage = 0; // RecStage defined in trunk/Framework/Shower/ShowerRRecData.cc
52 
53  };
54 
55 
57 
58  public:
61 
65 
66  private:
67 
68  //the hyperbolic wavefront function
69  static void RdHyperbolicWavefrontFnc(int& nPar, double* const grad, double& value, double* const par,
70  const int flag);
71 
72  static void RdHyperbolicWavefrontFncFull(int& nPar, double* const grad, double& value, double* const par,
73  const int flag);
74 
75  static void RdDirectionReco(int& nPar, double* const grad, double& value, double* const par,
76  const int flag);
77 
78  // minuit globals
83  static utl::Point gCore;
84  static double gTimeOffset;
85  static unsigned int nPar;
86  static double gTime0;
87  static unsigned int gStation0Id;
88  static double gMaxAmplitude;
89 
90  // xml settings
91  std::string fUsedCore;
92  bool fDoCoreSearch = false;
93 
94  // Calculation of the time residual of the individual station.
95  // Also fills them in the StationRecData
96  void CalculateTimeResidual(const utl::Vector& axis, const double gamma, const double t0) const;
97 
98  REGISTER_MODULE("RdHyperbolicWavefrontFit", RdHyperbolicWavefrontFit);
99 
100  };
101 
102 }
103 
104 
105 #endif
Point object.
Definition: Point.h:32
fwk::VModule::ResultFlag Init()
Initialize: invoked at beginning of run (NOT beginning of event)
Interface class to access to the Radio part of an event.
Definition: REvent.h:42
fwk::VModule::ResultFlag Run(evt::Event &event)
Run: invoked once per event.
static void RdHyperbolicWavefrontFnc(int &nPar, double *const grad, double &value, double *const par, const int flag)
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
fwk::VModule::ResultFlag Finish()
Finish: invoked at end of the run (NOT end of the event)
Module interface.
Definition: VModule.h:53
static void RdHyperbolicWavefrontFncFull(int &nPar, double *const grad, double &value, double *const par, const int flag)
ResultFlag
Flag returned by module methods to the RunController.
Definition: VModule.h:60
Vector object.
Definition: Vector.h:30
REGISTER_MODULE("RdHyperbolicWavefrontFit", RdHyperbolicWavefrontFit)
void CalculateTimeResidual(const utl::Vector &axis, const double gamma, const double t0) const
static void RdDirectionReco(int &nPar, double *const grad, double &value, double *const par, const int flag)

, generated on Tue Sep 26 2023.