#include <Camera.h>
Public Types | |
| enum | HexagonDirection { eInside = 0, eTopRight = 1, eTopLeft = 2, eLeft = 3, eBottomLeft = 4, eBottomRight = 5, eRight = 6 } |
Public Member Functions | |
| Camera (utl::RandomEngine &rndm, const fdet::Telescope &tel) | |
| int | ConstructPlane (const int id, utl::Vector &n, utl::Point &p, const utl::CoordinateSystemPtr &pxlCS) |
| TObjArray * | Draw (const bool do3D=true) |
| HexagonDirection | Hexagon (double x, double y, double r) |
| RTResult | Trace (const utl::Photon &photonIn, utl::Photon &photonOut, int &nreflections, int &col, int &row, double &cosTheta, bool doMercedes=true) |
| RTResult | TraceMerc (const utl::CoordinateSystemPtr &pxlCS, const utl::Photon &photonIn, utl::Photon &photonOut, int &nreflections) |
| RTResult | TraceShadow (const utl::Photon &photonIn, const bool doSupport=true) |
| int | TraceSurf (const utl::Photon &photonIn, utl::Photon &photonOut, utl::Vector &normal) |
Private Member Functions | |
| void | CalculateCameraSupportCoordinateSystem () |
| Camera () | |
| Camera (const Camera &) | |
| bool | FindPixelId (const utl::Vector &incidentDir, int &row, int &col) const |
| Camera & | operator= (const Camera &) |
| void | SetMercedesParameter (double height, double width) |
Private Attributes | |
| utl::CoordinateSystemPtr | fCameraSupportCoordinateSystem |
| double | fD1 |
| double | fD2 |
| double | fHMerc |
| double | fMercedesEff |
| double | fNt |
| double | fNz |
| utl::Point | fOrigin |
| double | fR1 |
| double | fR2 |
| utl::RandomEngine & | fRandom |
| double | fRFocal |
| double | fSigma |
| double | fSinAx |
| double | fSinAy |
| double | fSinBx |
| double | fSinBy |
| const fdet::Telescope & | fTel |
| utl::CoordinateSystemPtr | fTelCS |
Definition at line 35 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.
| Enumerator | |
|---|---|
| eInside | |
| eTopRight | |
| eTopLeft | |
| eLeft | |
| eBottomLeft | |
| eBottomRight | |
| eRight | |
Definition at line 76 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.
|
private |
|
private |
| Camera::Camera | ( | utl::RandomEngine & | rndm, |
| const fdet::Telescope & | tel | ||
| ) |
Definition at line 58 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.cc.
References CalculateCameraSupportCoordinateSystem(), fMercedesEff, fOrigin, fRFocal, fSigma, fSinAx, fSinAy, fSinBx, fSinBy, fTelCS, fdet::Telescope::GetCamera(), fdet::Camera::GetMercedesBase(), fdet::Camera::GetMercedesEfficiency(), fdet::Camera::GetMercedesHeight(), fdet::Telescope::GetPosition(), fdet::Camera::GetRadiusFocal(), fdet::Camera::GetSigmaNormal(), fdet::Telescope::GetTelescopeCoordinateSystem(), and SetMercedesParameter().
|
private |
Definition at line 928 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.cc.
References utl::cm, utl::deg, fCameraSupportCoordinateSystem, fRFocal, and fTelCS.
Referenced by Camera().
| int Camera::ConstructPlane | ( | const int | id, |
| utl::Vector & | n, | ||
| utl::Point & | p, | ||
| const utl::CoordinateSystemPtr & | pxlCS | ||
| ) |
Definition at line 656 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.cc.
References utl::deg, fD1, fHMerc, fNt, and fNz.
Referenced by TraceMerc().
| TObjArray * Camera::Draw | ( | const bool | do3D = true | ) |
Definition at line 698 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.cc.
References utl::cm, utl::deg, fCameraSupportCoordinateSystem, fHMerc, fR1, fR2, fTel, fTelCS, fdet::Telescope::GetFirstColumn(), fdet::Telescope::GetFirstRow(), fdet::Telescope::GetLastColumn(), fdet::Telescope::GetLastRow(), fdet::Telescope::GetPixel(), fdet::Pixel::GetPixelCoordinateSystem(), utl::BasicVector< HepVector >::GetX(), utl::BasicVector< HepVector >::GetY(), utl::BasicVector< HepVector >::GetZ(), and utl::m.
|
private |
Definition at line 245 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.cc.
References fTel, fTelCS, fdet::Telescope::GetCamera(), fdet::Camera::GetEta(), fdet::Telescope::GetFirstColumn(), fdet::Telescope::GetFirstRow(), fdet::Telescope::GetLastColumn(), fdet::Telescope::GetLastRow(), utl::BasicVector< HepVector >::GetX(), utl::BasicVector< HepVector >::GetY(), utl::BasicVector< HepVector >::GetZ(), and utl::kSqrt3.
Referenced by Trace().
| Camera::HexagonDirection Camera::Hexagon | ( | double | x, |
| double | y, | ||
| double | r | ||
| ) |
Definition at line 630 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.cc.
References eBottomLeft, eBottomRight, eInside, eLeft, eRight, eTopLeft, eTopRight, and utl::kSqrt3.
Referenced by TraceMerc().
|
private |
| RTResult Camera::Trace | ( | const utl::Photon & | photonIn, |
| utl::Photon & | photonOut, | ||
| int & | nreflections, | ||
| int & | col, | ||
| int & | row, | ||
| double & | cosTheta, | ||
| bool | doMercedes = true |
||
| ) |
Definition at line 133 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.cc.
References utl::deg, TelescopeSimulatorKG::eBackscattered, TelescopeSimulatorKG::eMissedFocalSurface, TelescopeSimulatorKG::eMissedPixels, TelescopeSimulatorKG::eOK, ERROR, FindPixelId(), fOrigin, fTel, utl::BasicVector< HepVector >::GetCosTheta(), TelescopeSimulatorKG::RayTracer::GetDebugLevel(), utl::Photon::GetDirection(), fdet::Telescope::GetId(), fdet::Telescope::GetPixel(), fdet::Pixel::GetPixelCoordinateSystem(), utl::Photon::GetPosition(), utl::Photon::GetWeight(), utl::BasicVector< HepVector >::GetZ(), INFO, utl::Vector::Normalize(), TelescopeSimulatorKG::RTFunctions::Refraction(), utl::Photon::SetWeight(), TraceMerc(), and TraceSurf().
Referenced by TelescopeSimulatorKG::RayTracer::Trace().
| RTResult Camera::TraceMerc | ( | const utl::CoordinateSystemPtr & | pxlCS, |
| const utl::Photon & | photonIn, | ||
| utl::Photon & | photonOut, | ||
| int & | nreflections | ||
| ) |
Definition at line 398 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.cc.
References ConstructPlane(), TelescopeSimulatorKG::eBackscattered, TelescopeSimulatorKG::eInvalidHitMercedes, TelescopeSimulatorKG::eInvalidMercedes, TelescopeSimulatorKG::eOK, ERROR, fMercedesEff, fR1, TelescopeSimulatorKG::RayTracer::GetDebugLevel(), utl::Photon::GetDirection(), utl::Photon::GetPosition(), utl::Photon::GetWeight(), utl::BasicVector< HepVector >::GetX(), utl::BasicVector< HepVector >::GetY(), utl::BasicVector< HepVector >::GetZ(), Hexagon(), INFO, TelescopeSimulatorKG::RTFunctions::Plane(), TelescopeSimulatorKG::RTFunctions::Reflection(), and utl::Photon::SetWeight().
Referenced by Trace().
| RTResult Camera::TraceShadow | ( | const utl::Photon & | photonIn, |
| const bool | doSupport = true |
||
| ) |
Definition at line 310 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.cc.
References utl::cm, TelescopeSimulatorKG::eOK, TelescopeSimulatorKG::eShadowed, fCameraSupportCoordinateSystem, fOrigin, fRFocal, fSinAx, fSinAy, fSinBx, fSinBy, fTelCS, TelescopeSimulatorKG::RayTracer::GetDebugLevel(), utl::BasicVector< HepVector >::GetX(), utl::BasicVector< HepVector >::GetY(), INFO, TelescopeSimulatorKG::RTFunctions::Plane(), and TelescopeSimulatorKG::RTFunctions::Sphere().
Referenced by TelescopeSimulatorKG::RayTracer::Trace().
| int Camera::TraceSurf | ( | const utl::Photon & | photonIn, |
| utl::Photon & | photonOut, | ||
| utl::Vector & | normal | ||
| ) |
Definition at line 367 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.cc.
References fOrigin, fRFocal, and TelescopeSimulatorKG::RTFunctions::Sphere().
Referenced by Trace().
|
private |
Definition at line 117 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.
Referenced by CalculateCameraSupportCoordinateSystem(), Draw(), and TraceShadow().
|
private |
Definition at line 107 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.
Referenced by ConstructPlane(), and SetMercedesParameter().
|
private |
Definition at line 107 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.
Referenced by SetMercedesParameter().
|
private |
Definition at line 107 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.
Referenced by ConstructPlane(), Draw(), and SetMercedesParameter().
|
private |
Definition at line 102 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.
Referenced by Camera(), and TraceMerc().
|
private |
Definition at line 110 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.
Referenced by ConstructPlane(), and SetMercedesParameter().
|
private |
Definition at line 110 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.
Referenced by ConstructPlane(), and SetMercedesParameter().
|
private |
Definition at line 99 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.
Referenced by Camera(), Trace(), TraceShadow(), and TraceSurf().
|
private |
Definition at line 107 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.
Referenced by Draw(), SetMercedesParameter(), and TraceMerc().
|
private |
Definition at line 107 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.
Referenced by Draw(), and SetMercedesParameter().
|
private |
Definition at line 95 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.
|
private |
Definition at line 101 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.
Referenced by CalculateCameraSupportCoordinateSystem(), Camera(), TraceShadow(), and TraceSurf().
|
private |
Definition at line 113 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.
Referenced by Camera().
|
private |
Definition at line 104 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.
Referenced by Camera(), and TraceShadow().
|
private |
Definition at line 104 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.
Referenced by Camera(), and TraceShadow().
|
private |
Definition at line 104 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.
Referenced by Camera(), and TraceShadow().
|
private |
Definition at line 104 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.
Referenced by Camera(), and TraceShadow().
|
private |
Definition at line 96 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.
Referenced by Draw(), FindPixelId(), and Trace().
|
private |
Definition at line 98 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.
Referenced by CalculateCameraSupportCoordinateSystem(), Camera(), Draw(), FindPixelId(), and TraceShadow().