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().