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) | |
| RTResult | Trace (const utl::Photon &photonIn, utl::Photon &photonOut) |
Private Member Functions | |
| utl::Vector | Curvature (const double x, const double y) const |
| double | Profile (const double r) const |
Private Attributes | |
| double | fInd1 |
| utl::Point | fOrigin |
| double | fR1 |
| double | fR2 |
| utl::RandomEngine * | fRandom |
| const utl::TabulatedFunction * | fRefractiveIndex |
| double | fSigRho |
| utl::CoordinateSystemPtr | fTelCS |
| const utl::TabulatedFunction * | fTransmittance |
Simulates the corrector ring in the raytracing of the TelescopeSimulator module.
| Lens::Lens | ( | utl::RandomEngine & | rndm, |
| const fdet::Telescope & | tel | ||
| ) |
Definition at line 42 of file Lens.cc.
References fdet::Telescope::GetCorrector(), fdet::Corrector::GetInnerRadius(), fdet::Corrector::GetOuterRadius(), fdet::Corrector::GetRefractiveIndex(), fdet::Corrector::GetSigmaNormal(), fdet::Telescope::GetTelescopeCoordinateSystem(), fdet::Corrector::GetTransmittance(), atm::ProfileResult::MinX(), and atm::ProfileResult::Y().
|
private |
Definition at line 186 of file Lens.cc.
References utl::m, RdBeamFormer::norm(), and sqrt().
|
private |
| RTResult Lens::Trace | ( | const utl::Photon & | photonIn, |
| utl::Photon & | photonOut | ||
| ) |
/brief Simulate the lens
Definition at line 70 of file Lens.cc.
References utl::cm, TelescopeSimulatorKG::eAbsorbedByLens, TelescopeSimulatorKG::eInvalidLens, TelescopeSimulatorKG::eMissedDiaphragm, TelescopeSimulatorKG::eOK, TelescopeSimulatorKG::eReflectedByLens, utl::BasicVector< HepVector >::GetCosTheta(), utl::Photon::GetDirection(), utl::Photon::GetPosition(), utl::Photon::GetWavelength(), utl::Photon::GetWeight(), utl::BasicVector< HepVector >::GetX(), utl::BasicVector< HepVector >::GetY(), utl::BasicVector< HepVector >::GetZ(), TelescopeSimulatorKG::RTFunctions::Refraction(), utl::Photon::SetPosition(), utl::Photon::SetWeight(), and sqrt().
Referenced by TelescopeSimulatorKG::RayTracer::Trace().
|
private |
|
private |
|
private |
|
private |
|
private |