SdFootprintAnalyzer.h
Go to the documentation of this file.
1 
9 #ifndef _SdFootprintAnalyzer_h_
10 #define _SdFootprintAnalyzer_h_
11 
12 // Offline includes
13 #include <fwk/VModule.h>
14 
15 #include <utl/TimeStamp.h>
16 #include <utl/Point.h>
17 #include <utl/Vector.h>
18 #include <utl/CoordinateSystemPtr.h>
19 #include <utl/Trace.h>
20 
21 #include <evt/Event.h>
22 
23 #include <sevt/Station.h>
24 #include <sevt/SEvent.h>
25 #include <sevt/SdFootprintData.h>
26 
27 using namespace std;
28 
29 namespace SdFootprintAnalyzerNS{ // you should assign your module to a namespace
30 
31  class Station {
32  public:
33  Station(int Id, utl::TimeStamp Time, utl::Point Pos, double Signal, double AoP, bool TOT, double Lp) :
34  fId(Id),
35  fTime(Time),
36  fPos(Pos),
37  fSignal(Signal),
38  fAoP(AoP),
39  fTOT(TOT),
40  fLp(Lp)
41  { }
42  int fId;
45  double fSignal;
46  double fAoP;
47  bool fTOT;
48  double fLp;
49  };
50 
51  typedef std::vector<SdFootprintAnalyzerNS::Station> StationCollection;
52 
54  public:
56  bool operator()(const sevt::Station* const s1, const sevt::Station* const s2) const;
57  private:
59  };
60 
62  public:
64  };
65 
67 
68  public:
69 
71  virtual ~SdFootprintAnalyzer();
72 
75  fwk::VModule::ResultFlag Finish();
76 
77  private:
78 
79  utl::Point ComputeBarycenter(const sevt::SEvent& theSEvent) const;
80  StationCollection GetFootprintStations(sevt::SEvent& theSEvent) const;
81  void ComputeGroundVariables(evt::Event& event, StationCollection station, sevt::SdFootprintData& theFootprint);
82  double ComputeAoPAsymmetry(StationCollection station);
83 
84  utl::TraceD GetVEMChargeTrace(const sevt::Station& station) const;
85 
86  void SortStationsAroundBarycenter(evt::Event& event, utl::Point barycenter) const;
87 
88  int fVerbose;
92 
93  // Register the module
94  REGISTER_MODULE("SdFootprintAnalyzerOG",SdFootprintAnalyzer);
95  };
96 
97 } // SdFootprintAnalyzer namespace
98 
99 #endif
100 
101 // Configure (x)emacs for this file ...
102 // Local Variables:
103 // mode:c++
104 // compile-command: "make -k"
105 // End:
Point object.
Definition: Point.h:32
Interface class to access to the SD part of an event.
Definition: SEvent.h:39
void Init()
Initialise the registry.
std::vector< SdFootprintAnalyzerNS::Station > StationCollection
A TimeStamp holds GPS second and nanosecond for some event.
Definition: TimeStamp.h:110
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
class to hold data at Station level
Class to hold simple parameters describing the footprint of an SD event.
Module interface.
Definition: VModule.h:53
#define REGISTER_MODULE(_moduleName_, _ModuleType_)
Definition: VModule.h:145
ResultFlag
Flag returned by module methods to the RunController.
Definition: VModule.h:60
Station(int Id, utl::TimeStamp Time, utl::Point Pos, double Signal, double AoP, bool TOT, double Lp)

, generated on Tue Sep 26 2023.