9 #ifndef _TelescopeSimulatorKG_Camera_h_
10 #define _TelescopeSimulatorKG_Camera_h_
26 #include <utl/Point.h>
27 #include <utl/CoordinateSystemPtr.h>
33 namespace TelescopeSimulatorKG {
55 bool doMercedes=
true);
58 TObjArray*
Draw(
const bool do3D=
true);
124 #endif // _TelescopeSimulatorKG_Camera_h_
RTResult Trace(const utl::Photon &photonIn, utl::Photon &photonOut, int &nreflections, int &col, int &row, double &cosTheta, bool doMercedes=true)
utl::CoordinateSystemPtr fTelCS
HexagonDirection Hexagon(double x, double y, double r)
void CalculateCameraSupportCoordinateSystem()
bool FindPixelId(const utl::Vector &incidentDir, int &row, int &col) const
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
Wraps the random number engine used to generate distributions.
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)
TObjArray * Draw(const bool do3D=true)
Detector description interface for Telescope-related data.
utl::RandomEngine & fRandom
int TraceSurf(const utl::Photon &photonIn, utl::Photon &photonOut, utl::Vector &normal)
utl::CoordinateSystemPtr fCameraSupportCoordinateSystem
const fdet::Telescope & fTel
void SetMercedesParameter(double height, double width)
int ConstructPlane(const int id, utl::Vector &n, utl::Point &p, const utl::CoordinateSystemPtr &pxlCS)
Camera & operator=(const Camera &)