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 |