Simulates the corrector ring in the raytracing of the TelescopeSimulator module. More...
#include <Lens.h>
Public Member Functions | |
| TObjArray * | Draw () |
| Lens (utl::RandomEngine &rndm, const fdet::Telescope &tel, const bool simulateHaloEffects, const double lensIncreaseRefl, const double lensPosition, const double minLensThickness, const double torusRadius, const double tubeRadius, const double torusZ0) | |
| void | SetPhotonTrack (RayTracer::Track *const track) |
| RTNext | Trace (const utl::Photon &photonIn, utl::Photon &photonOut) |
| RTNext | TraceWithTorus (const utl::Photon &photonIn, utl::Photon &photonOut) |
| Simulate the lens. More... | |
| ~Lens () | |
Private Member Functions | |
| void | ChoosePhysicalIntersection (unsigned int &index, const RTFunctions::IntersectionList &intersections) const |
| utl::Vector | CurvaturePrototype (const double x, const double y) const |
| double | ProfilePrototype (const double r) const |
Private Attributes | |
| const double | fIncreaseReflection |
| const double | fIndexAir = 1.000277 |
| double | fLXTorusRadius = 0 |
| double | fLXTubeRadius = 0 |
| double | fLXz0 = 0 |
| const double | fMinLensThickness |
| unsigned int | fNbug |
| const utl::Point | fOrigin |
| RayTracer::Track * | fPhotonTrack = nullptr |
| const utl::Point | fPosPlane |
| const double | fPosZ |
| const double | fR1 |
| const double | fR2 |
| utl::RandomEngine & | fRandom |
| const utl::TabulatedFunction & | fRefractiveIndex |
| const double | fSigRho |
| const bool | fSimulateHaloEffects |
| utl::CoordinateSystemPtr | fTelCS |
| const utl::Point | fTorusOrigin |
| const double | fTorusRadius |
| const double | fTorusZ0 |
| const utl::TabulatedFunction & | fTransmittance |
| const double | fTubeRadius |
Simulates the corrector ring in the raytracing of the TelescopeSimulator module.
| Lens::Lens | ( | utl::RandomEngine & | rndm, |
| const fdet::Telescope & | tel, | ||
| const bool | simulateHaloEffects, | ||
| const double | lensIncreaseRefl, | ||
| const double | lensPosition, | ||
| const double | minLensThickness, | ||
| const double | torusRadius, | ||
| const double | tubeRadius, | ||
| const double | torusZ0 | ||
| ) |
|
private |
Definition at line 768 of file /Lens.cc.
References fTelCS, and fTubeRadius.
Referenced by TraceWithTorus().
|
private |
| TObjArray * Lens::Draw | ( | ) |
|
private |
|
inline |
Definition at line 58 of file /Lens.h.
References fPhotonTrack.
Referenced by TelescopeSimulatorKG2::RayTracer::Trace().
| RTNext TelescopeSimulatorKG2::Lens::Trace | ( | const utl::Photon & | photonIn, |
| utl::Photon & | photonOut | ||
| ) |
| RTNext Lens::TraceWithTorus | ( | const utl::Photon & | photonIn, |
| utl::Photon & | photonOut | ||
| ) |
Simulate the lens.
Definition at line 341 of file /Lens.cc.
References utl::abs(), ChoosePhysicalIntersection(), utl::cm, debug, utl::deg, TelescopeSimulatorKG2::eCameraShadow, TelescopeSimulatorKG2::eFilter, TelescopeSimulatorKG2::eLost, ERROR, fIncreaseReflection, fIndexAir, fNbug, fPosPlane, fR1, fR2, fRandom, fRefractiveIndex, fSimulateHaloEffects, fTelCS, fTorusOrigin, fTorusRadius, fTransmittance, fTubeRadius, utl::Photon::GetDirection(), utl::RandomEngine::GetEngine(), utl::Vector::GetMag(), utl::Photon::GetPosition(), utl::Photon::GetWavelength(), utl::Photon::GetWeight(), utl::BasicVector< HepVector >::GetX(), utl::BasicVector< HepVector >::GetY(), utl::BasicVector< HepVector >::GetZ(), utl::kPi, TelescopeSimulatorKG2::RTFunctions::LambertDiffusion(), utl::mm, TelescopeSimulatorKG2::RTFunctions::Plane(), TelescopeSimulatorKG2::RTFunctions::Refraction(), utl::Photon::SetDirection(), utl::Photon::SetPosition(), utl::Photon::SetSource(), utl::Photon::SetWeight(), utl::Sqr(), sqrt(), TelescopeSimulatorKG2::RTFunctions::Torus(), TelescopeSimulatorKG2::RTFunctions::TorusNormal(), and utl::TabulatedFunction::Y().
Referenced by TelescopeSimulatorKG2::RayTracer::Trace().
|
private |
Definition at line 71 of file /Lens.h.
Referenced by TraceWithTorus().
|
private |
Definition at line 91 of file /Lens.h.
Referenced by TraceWithTorus().
|
private |
|
private |
|
private |
|
private |
Definition at line 95 of file /Lens.h.
Referenced by TraceWithTorus(), and ~Lens().
|
private |
|
private |
Definition at line 98 of file /Lens.h.
Referenced by SetPhotonTrack().
|
private |
Definition at line 86 of file /Lens.h.
Referenced by TraceWithTorus().
|
private |
|
private |
Definition at line 89 of file /Lens.h.
Referenced by Draw(), and TraceWithTorus().
|
private |
Definition at line 90 of file /Lens.h.
Referenced by Draw(), and TraceWithTorus().
|
private |
Definition at line 67 of file /Lens.h.
Referenced by TraceWithTorus().
|
private |
Definition at line 92 of file /Lens.h.
Referenced by TraceWithTorus().
|
private |
Definition at line 68 of file /Lens.h.
Referenced by TraceWithTorus().
|
private |
Definition at line 83 of file /Lens.h.
Referenced by ChoosePhysicalIntersection(), CurvaturePrototype(), and TraceWithTorus().
|
private |
Definition at line 85 of file /Lens.h.
Referenced by TraceWithTorus().
|
private |
Definition at line 76 of file /Lens.h.
Referenced by TraceWithTorus().
|
private |
Definition at line 93 of file /Lens.h.
Referenced by TraceWithTorus().
|
private |
Definition at line 77 of file /Lens.h.
Referenced by ChoosePhysicalIntersection(), and TraceWithTorus().