Simulates all ray tracing inside a telescope. More...
#include <RayTracer.h>
Public Member Functions | |
| TPolyLine3D * | DrawTrack (const utl::Point &p1, const utl::Point &p2, int color) const |
| RayTracer (const fdet::Telescope &tel, utl::RandomEngine &random, bool doShadow=true, bool doShadowSupport=true, bool hasMercedes=true, bool plotPhotonTracks=false, double drawPhotonsProbabilty=0) | |
| void | SetCorrectorRing (bool f) |
| RTResult | Trace (const utl::Photon &photonIn, utl::Photon &photonOut, int &nreflections, int &col, int &row) |
| Raytracing through the telescope components. More... | |
| ~RayTracer () | |
Static Public Member Functions | |
| static int | GetDebugLevel () |
| static void | SetDebugLevel (int l) |
Private Member Functions | |
| RayTracer & | operator= (const RayTracer &) |
| RayTracer () | |
| RayTracer (const RayTracer &) | |
Private Attributes | |
| Camera * | fCamera |
| bool | fDoShadow |
| bool | fDoShadowSupport |
| double | fDrawPhotonProbability |
| Filter * | fFilter |
| bool | fHasCorrectorRing |
| bool | fHasMercedes |
| Lens * | fLens |
| Mirror * | fMirror |
| TObjArray * | fObjectsPhotons |
| bool | fPlotPhotonTracks |
| const utl::RandomEngine * | fRandom |
| const fdet::Telescope * | fTel |
Static Private Attributes | |
| static int | fgDebugLevel = 0 |
Simulates all ray tracing inside a telescope.
Definition at line 38 of file RayTracer.h.
|
private |
|
private |
| RayTracer::RayTracer | ( | const fdet::Telescope & | tel, |
| utl::RandomEngine & | random, | ||
| bool | doShadow = true, |
||
| bool | doShadowSupport = true, |
||
| bool | hasMercedes = true, |
||
| bool | plotPhotonTracks = false, |
||
| double | drawPhotonsProbabilty = 0 |
||
| ) |
Definition at line 31 of file RayTracer.cc.
References fCamera, fFilter, fHasCorrectorRing, fLens, fMirror, fObjectsPhotons, fTel, and fdet::Telescope::HasCorrectorRing().
| RayTracer::~RayTracer | ( | ) |
Definition at line 58 of file RayTracer.cc.
References RdGeoCeLDFFitter::c, fCamera, fFilter, fLens, fMirror, fObjectsPhotons, fPlotPhotonTracks, fTel, fdet::Telescope::GetEyeId(), and fdet::Telescope::GetId().
| TPolyLine3D * RayTracer::DrawTrack | ( | const utl::Point & | p1, |
| const utl::Point & | p2, | ||
| int | color | ||
| ) | const |
Definition at line 176 of file RayTracer.cc.
References fTel, fdet::Telescope::GetTelescopeCoordinateSystem(), utl::BasicVector< HepVector >::GetX(), utl::BasicVector< HepVector >::GetY(), and utl::BasicVector< HepVector >::GetZ().
Referenced by Trace().
|
inlinestatic |
Definition at line 63 of file RayTracer.h.
References fgDebugLevel.
Referenced by TelescopeSimulatorKG::Filter::Filter(), TelescopeSimulatorKG::Camera::Trace(), TelescopeSimulatorKG::Camera::TraceMerc(), and TelescopeSimulatorKG::Camera::TraceShadow().
|
inline |
Definition at line 61 of file RayTracer.h.
References fHasCorrectorRing.
|
inlinestatic |
Definition at line 64 of file RayTracer.h.
References fgDebugLevel.
| RTResult RayTracer::Trace | ( | const utl::Photon & | photonIn, |
| utl::Photon & | photonOut, | ||
| int & | nreflections, | ||
| int & | col, | ||
| int & | row | ||
| ) |
Raytracing through the telescope components.
Definition at line 101 of file RayTracer.cc.
References DrawTrack(), TelescopeSimulatorKG::eAbsorbedByFilter, TelescopeSimulatorKG::eAbsorbedByMirror, TelescopeSimulatorKG::eOK, TelescopeSimulatorKG::eShadowed, fCamera, fDoShadow, fDoShadowSupport, fDrawPhotonProbability, fFilter, fHasCorrectorRing, fHasMercedes, fLens, fMirror, fObjectsPhotons, fPlotPhotonTracks, fTel, utl::Photon::GetPosition(), utl::BasicVector< HepVector >::GetR(), fdet::Telescope::GetTelescopeCoordinateSystem(), utl::meter, TelescopeSimulatorKG::Filter::Trace(), TelescopeSimulatorKG::Camera::Trace(), TelescopeSimulatorKG::Lens::Trace(), TelescopeSimulatorKG::Mirror::Trace(), and TelescopeSimulatorKG::Camera::TraceShadow().
Referenced by TelescopeSimulatorKG::TelescopeSimulator::Run().
|
private |
Definition at line 80 of file RayTracer.h.
Referenced by RayTracer(), Trace(), and ~RayTracer().
|
private |
Definition at line 69 of file RayTracer.h.
Referenced by Trace().
|
private |
Definition at line 70 of file RayTracer.h.
Referenced by Trace().
|
private |
Definition at line 76 of file RayTracer.h.
Referenced by Trace().
|
private |
Definition at line 82 of file RayTracer.h.
Referenced by RayTracer(), Trace(), and ~RayTracer().
|
staticprivate |
Definition at line 84 of file RayTracer.h.
Referenced by GetDebugLevel(), and SetDebugLevel().
|
private |
Definition at line 72 of file RayTracer.h.
Referenced by RayTracer(), SetCorrectorRing(), and Trace().
|
private |
Definition at line 71 of file RayTracer.h.
Referenced by Trace().
|
private |
Definition at line 79 of file RayTracer.h.
Referenced by RayTracer(), Trace(), and ~RayTracer().
|
private |
Definition at line 81 of file RayTracer.h.
Referenced by RayTracer(), Trace(), and ~RayTracer().
|
private |
Definition at line 77 of file RayTracer.h.
Referenced by RayTracer(), Trace(), and ~RayTracer().
|
private |
Definition at line 75 of file RayTracer.h.
Referenced by Trace(), and ~RayTracer().
|
private |
Definition at line 68 of file RayTracer.h.
|
private |
Definition at line 67 of file RayTracer.h.
Referenced by DrawTrack(), RayTracer(), Trace(), and ~RayTracer().