1 #ifndef _TelescopeSimulatorKG2_RayTracer_h_
2 #define _TelescopeSimulatorKG2_RayTracer_h_
7 #include <utl/CoordinateSystemPtr.h>
8 #include <utl/TabulatedFunction.h>
28 namespace TelescopeSimulatorKG2 {
62 std::vector<float>
fX;
63 std::vector<float>
fY;
64 std::vector<float>
fZ;
71 bool simualteCameraSupportShadow,
72 bool simulateMercedesStars,
73 bool simulateFilterStructure,
74 bool simulateHaloEffects,
75 bool simulateGhostEffects,
76 const int maxMirrorReflections,
77 const double mirrorSize,
78 const double mirrorSegmentSigma,
79 const double mirrorRadiusSigma,
80 const double mirrorAbsorptionTop,
81 const double mirrorAbsorptionBot,
84 const double filterIncreaseReflInside,
85 const double filterIncreaseReflOutside,
86 const double filterPosition,
87 const double filterPositionVertical,
88 const double filterPositionVertical2,
89 const double filterPositionHorizontal,
90 const double filterDustAbsorption,
91 const double lensIncreaseRefl,
92 const double lensPosition,
93 const double minLensThickness,
94 const double torusRadius,
95 const double tubeRadius,
98 bool plotPhotonTracks=
false,
99 bool plotPhotonTracksAtMercedes=
false,
100 double drawPhotonsProbabilty=0);
138 #endif // _TelescopeSimulatorKG2_RayTracer_h_
bool fSimulateCameraShadow
const utl::CoordinateSystemPtr & fCS
Simulates the UV filter in the raytracing of the TelescopeSimulator module.
RayTracer & operator=(const RayTracer &)
const int fMaxMirrorReflections
Simulates the corrector ring in the raytracing of the TelescopeSimulator module.
Class to hold collection (x,y) points and provide interpolation between them.
const utl::RandomEngine * fRandom
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
void AddPoint(const utl::Point &p)
Wraps the random number engine used to generate distributions.
Simulates all ray tracing inside a telescope.
RTResult Trace(const utl::Photon &photonIn, utl::Photon &photonOut, int &nreflections, int &nbackscattered, int &col, int &row)
Raytracing through the telescope components.
bool fSimulateHaloEffects
double fDrawPhotonProbability
void SetColor(const int color)
Detector description interface for Telescope-related data.
bool fSimulateMercedesStars
bool fSimualteCameraSupportShadow
bool fSimulateFilterStructure
bool fSimulateGhostEffects
TObjArray * fObjectsPhotons
Simulates the mirror in the raytracing of the TelescopeSimulator module.
Track(const utl::CoordinateSystemPtr &cs)
const fdet::Telescope * fTel