TelescopeSimulatorKG2/TelescopeSimulator.h
Go to the documentation of this file.
1 
9 #ifndef _TelescopeSimulatorKG2_TelescopeSimulator_h_
10 #define _TelescopeSimulatorKG2_TelescopeSimulator_h_
11 
12 
13 #include <fwk/VModule.h>
14 
15 #include <utl/CoordinateSystemPtr.h>
16 #include <utl/ShadowPtr.h>
17 #include <utl/Photon.h>
18 #include <utl/TabulatedFunction.h>
19 
20 #include <map>
21 #include <list>
22 #include <vector>
23 #include <fstream>
24 
25 
26 namespace utl {
27  class Point;
28  class Vector;
29  class RandomEngine;
30 }
31 
32 namespace fdet {
33  class Telescope;
34 }
35 
36 namespace evt {
37  class Event;
38 }
39 
40 namespace TelescopeSimulatorKG2 {
41 
53 
54  public:
55  typedef std::list<std::pair<utl::Photon, int> > PhotonList;
56  typedef PhotonList::iterator PhotonListIterator;
57  typedef PhotonList::const_iterator PhotonListConstIterator;
58 
60 
64 
65  void SetSpotPhotonList(PhotonList& phList);
66 
70 
72  void SetStoreLightComponentsAtPixels(const bool store)
74 
75  private:
77 
78  // general options
85 
86  // general options for RayTracer
88 
89  // general options for mirror
90  double fMirrorSize;
95  std::vector<double> fMirrorDiffusionTopValues;
96  std::vector<double> fMirrorDiffusionTopAngles;
98  std::vector<double> fMirrorDiffusionBotValues;
99  std::vector<double> fMirrorDiffusionBotAngles;
101 
102  // general options for filter
110 
111  // general options for lens
114  // for torus
116  double fTorusRadius;
117  double fTubeRadius;
118  double fTorusZ0;
119 
120  //general options for camera
121  double fPMT_n;
122 
123  // drawing options
124  bool fDraw;
127 
128  // shodow photons output file
129  std::string fShadowDataOutName;
130 
132 
134 
135  // drum simulations
136  bool fDrumMode;
138 
139  // -- shadow factor calculation --
140  std::map<int, unsigned int> fNHit;
141  std::map<int, unsigned int> fN_1;
142  std::map<int, unsigned int> fN_2;
143  std::map<int, unsigned int> fN_3;
144  std::map<int, unsigned int> fN_4;
145  std::map<int, unsigned int> fN_5;
146  std::map<int, unsigned int> fN_6;
147 
148  // --------------------------
149  // Wed Jul 26 10:51:33 CEST 2006
150  // this is for SG spot tables !!!!!!!!!
151  static void TransformToLocalCameraCoordinates(const double laz, const double lze, double& caz, double& cze);
152  // ------------------------------------------
153 
154  REGISTER_MODULE("TelescopeSimulatorKG2", TelescopeSimulator);
155 
156  };
157 
158 }
159 
160 
161 #endif
162 
163 // Configure (x)emacs for this file ...
164 // Local Variables:
165 // mode: c++
166 // compile-command: "make -C .. -k"
167 // End:
fwk::VModule::ResultFlag Init()
Initialize: invoked at beginning of run (NOT beginning of event)
Class to hold collection (x,y) points and provide interpolation between them.
static void TransformToLocalCameraCoordinates(const double laz, const double lze, double &caz, double &cze)
fwk::VModule::ResultFlag Finish()
Finish: invoked at end of the run (NOT end of the event)
bool StoreLightComponentsAtPixels()
Returns whether pixel traces are stored for individual light components.
Wraps the random number engine used to generate distributions.
Definition: RandomEngine.h:27
Module interface.
Definition: VModule.h:53
void SetStoreLightComponentsAtPixels(const bool store)
Sets whether pixel traces are stored for individual light components.
fwk::VModule::ResultFlag Run(evt::Event &event)
Run: invoked once per event.
ResultFlag
Flag returned by module methods to the RunController.
Definition: VModule.h:60
void SetSpotPhotonList(PhotonList &phList)
REGISTER_MODULE("TelescopeSimulatorKG2", TelescopeSimulator)

, generated on Tue Sep 26 2023.