FdLaserEnergyReconstructor.h
Go to the documentation of this file.
1 /*
2  header FdLaserEnergyReconstructorKG
3  Module to reconstruct the energy of a lasershot
4 
5  \author Joachim Debatin
6  */
7 
8 
9 #ifndef _FdLaserEnergyReconstructorKG_h_
10 #define _FdLaserEnergyReconstructorKG_h_
11 
12 #include <fwk/VModule.h>
13 #include <fevt/FdConstants.h>
14 #include <evt/Event.h>
15 #include <utl/Vector.h>
16 #include <utl/Point.h>
17 #include <utl/AugerUnits.h>
18 #include <fdet/Telescope.h>
19 #include <atm/Atmosphere.h>
20 #include <evt/ShowerFRecData.h>
21 #include <map>
22 #include <vector>
23 
25 using namespace utl;
26 
27 namespace fevt {
28  class Eye;
29  class Telescope;
30 }
31 
32 namespace fdet {
33  class Pixel;
34  class Telescope;
35 }
36 
37 namespace utl {
39 }
40 
41 
42 // you should assign your module to a namespace
43 
44 namespace FdLaserEnergyReconstructorKG {
45 
46 
48 
49  public:
50 
53  fwk::VModule::ResultFlag Finish();
54 
55 
56  private:
57 
60 
61  //Geometry
67  unsigned int fTelTimeOffset;
68 
69  //CameraData
70  double fBinSize;
72 
73  //Calculate the position of the lasershot for a given timebin
74  utl::Point CalculateLaserBeamPosition( const double bin );
75 
76  //Calculate the relation of the number of photons at the telescope to the number of photons in a lasershot
77  double CalculateAtmosphereCoefficient ( const atm::Atmosphere& atmos,
78  const utl::Point pointAtLaserBeam,
79  const double eps,
80  const double i);
81 
82  void GetGeometryData ( const fevt::Eye& eye);
83 
84  void GetTelescopeData ( const fevt::Telescope& tel,
85  const fdet::Telescope& detTel);
86 
87  REGISTER_MODULE("FdLaserEnergyReconstructorKG", FdLaserEnergyReconstructor);
88 
89  };
90 
91 }
92 
93 
94 #endif
95 
96 // Configure (x)emacs for this file ...
97 // Local Variables:
98 // mode:c++
99 // compile-command: "make -k"
100 // End:
Top of the interface to Atmosphere information.
Point object.
Definition: Point.h:32
Fluorescence Detector Eye Event.
Definition: FEvent/Eye.h:29
void Init()
Initialise the registry.
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.
double eps
Module interface.
Definition: VModule.h:53
#define REGISTER_MODULE(_moduleName_, _ModuleType_)
Definition: VModule.h:145
Detector description interface for Telescope-related data.
ResultFlag
Flag returned by module methods to the RunController.
Definition: VModule.h:60
Vector object.
Definition: Vector.h:30
Fluorescence Detector Telescope Event.

, generated on Tue Sep 26 2023.