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