LightAtDiaphragmSimulator.h
Go to the documentation of this file.
1 
9 #ifndef _LightAtDiaphragmSimulatorKG_LightAtDiaphragmSimulator_h_
10 #define _LightAtDiaphragmSimulatorKG_LightAtDiaphragmSimulator_h_
11 
12 
13 #include <fwk/VModule.h>
14 #include <fdet/Eye.h>
15 #include <fdet/Telescope.h>
16 #include <utl/Point.h>
17 #include <utl/CoordinateSystemPtr.h>
18 #include <utl/TabulatedFunction.h>
19 #include <utl/MultiTabulatedFunction.h>
20 #include <utl/TimeStamp.h>
21 
22 
23 namespace LightAtDiaphragmSimulatorKG {
24 
36 
37  public:
38  // structure to keep information about telescopes with shower in FOV -------
39  struct FOVTelInfo {
40 
41  FOVTelInfo(int aEyeID, int aTelID, fevt::TelescopeSimData* aSimData,
42  const fdet::Telescope* aDetTel,
43  //const utl::Point& aPos,
44  //const utl::CoordinateSystemPtr& aCS,
45  double aTmin, double aTmax,
46  double aDistMin, double aDistMax,
47  int aNBins, double aBinWidth) :
48  eyeID(aEyeID), telID(aTelID),
49  SimData(aSimData), DetTel(aDetTel), //Position(aPos), CS(aCS),
50  Tmin(aTmin), Tmax(aTmax),
51  distMin(aDistMin), distMax(aDistMax),
52  NBins(aNBins), BinWidth(aBinWidth)
53  { }
54 
55  int eyeID;
56  int telID;
59  //utl::Point Position;
60  //utl::CoordinateSystemPtr CS;
61  double Tmin;
62  double Tmax;
63  double distMin;
64  double distMax;
65  int NBins;
66  double BinWidth;
67  };
68 
69  // -------------------------------------------------------------------------
70 
71  public:
74 
78 
79  private:
80  //double CalculatePointOnAxis(const double time, const double Rp, const double dist0);
81  double CalculateDistanceFromCore(const double tDia, const double Rp, const double T0);
82 
84 
85  private:
87 
92 
95 
97 
98  bool fWlRefrac;
99 
100  REGISTER_MODULE("LightAtDiaphragmSimulatorKG", LightAtDiaphragmSimulator);
101 
102  };
103 
104 }
105 
106 
107 #endif
108 
109 // Configure (x)emacs for this file ...
110 // Local Variables:
111 // mode: c++
112 // compile-command: "make -C .. -k"
113 // End:
double CalculateDistanceFromCore(const double tDia, const double Rp, const double T0)
Simulates the light flux at the diaphragm of the FD telescopes.
Description of simulated data for one Telescope.
fwk::VModule::ResultFlag Run(evt::Event &event)
Run: invoked once per event.
Module interface.
Definition: VModule.h:53
FOVTelInfo(int aEyeID, int aTelID, fevt::TelescopeSimData *aSimData, const fdet::Telescope *aDetTel, double aTmin, double aTmax, double aDistMin, double aDistMax, int aNBins, double aBinWidth)
Detector description interface for Telescope-related data.
ResultFlag
Flag returned by module methods to the RunController.
Definition: VModule.h:60
fwk::VModule::ResultFlag Finish()
Finish: invoked at end of the run (NOT end of the event)
REGISTER_MODULE("LightAtDiaphragmSimulatorKG", LightAtDiaphragmSimulator)
fwk::VModule::ResultFlag Init()
Initialize: invoked at beginning of run (NOT beginning of event)

, generated on Tue Sep 26 2023.