Modules/FdSimulation/TelescopeSimulatorKG/Mirror.h
Go to the documentation of this file.
1 
9 #ifndef _TelescopeSimulatorKG_Mirror_h_
10 #define _TelescopeSimulatorKG_Mirror_h_
11 
12 
13 #include "RTResult.h"
14 
15 #include <utl/CoordinateSystemPtr.h>
16 #include <utl/Point.h>
17 
18 #include <string>
19 
20 namespace utl {
21  class Photon;
22  class Vector;
23  class RandomEngine;
24 }
25 
26 namespace fdet {
27  class Telescope;
28 }
29 
30 class TObjArray;
31 
32 namespace TelescopeSimulatorKG {
33 
34  //class Photon;
35 
45  class Mirror {
46 
47  public:
48 
49  Mirror (utl::RandomEngine& rndm, const fdet::Telescope& tel);
50  ~Mirror();
51 
52  RTResult Trace(const utl::Photon& photonIn, utl::Photon& photonOut);
53 
54  TObjArray* Draw();
55 
56  private:
57 
59 
62 
63  double fRCurv;
64  double fSigma; //deviation of the normal of the mirror surface.
65 
66  };
67 
68 } // TelescopeSimulatorKG
69 
70 #endif // _TelescopeSimulatorKG_Mirror_h_
71 
72 // Configure (x)emacs for this file ...
73 // Local Variables:
74 // mode:c++
75 // compile-command: "make -C .. -k"
76 // End:
Simulates the mirror in the raytracing of the TelescopeSimulator module.
Point object.
Definition: Point.h:32
Mirror(utl::RandomEngine &rndm, const fdet::Telescope &tel)
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
Wraps the random number engine used to generate distributions.
Definition: RandomEngine.h:27
Detector description interface for Telescope-related data.
RTResult Trace(const utl::Photon &photonIn, utl::Photon &photonOut)

, generated on Tue Sep 26 2023.