List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
TelescopeSimulatorKG::Camera Class Reference

#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
 
Cameraoperator= (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::RandomEnginefRandom
 
double fRFocal
 
double fSigma
 
double fSinAx
 
double fSinAy
 
double fSinBx
 
double fSinBy
 
const fdet::TelescopefTel
 
utl::CoordinateSystemPtr fTelCS
 

Detailed Description

Definition at line 35 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.

Member Enumeration Documentation

Enumerator
eInside 
eTopRight 
eTopLeft 
eLeft 
eBottomLeft 
eBottomRight 
eRight 

Definition at line 76 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.

Constructor & Destructor Documentation

TelescopeSimulatorKG::Camera::Camera ( )
private
TelescopeSimulatorKG::Camera::Camera ( const Camera )
private
Camera::Camera ( utl::RandomEngine rndm,
const fdet::Telescope tel 
)

Member Function Documentation

void Camera::CalculateCameraSupportCoordinateSystem ( )
private
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)
bool Camera::FindPixelId ( const utl::Vector incidentDir,
int &  row,
int &  col 
) const
private
Camera::HexagonDirection Camera::Hexagon ( double  x,
double  y,
double  r 
)
Camera& TelescopeSimulatorKG::Camera::operator= ( const Camera )
private
void Camera::SetMercedesParameter ( double  height,
double  width 
)
private

Definition at line 92 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.cc.

References fD1, fD2, fHMerc, fNt, fNz, fR1, fR2, utl::kSqrt3, utl::mm, and sqrt().

Referenced by Camera().

RTResult Camera::Trace ( const utl::Photon photonIn,
utl::Photon photonOut,
int &  nreflections,
int &  col,
int &  row,
double &  cosTheta,
bool  doMercedes = true 
)
RTResult Camera::TraceMerc ( const utl::CoordinateSystemPtr pxlCS,
const utl::Photon photonIn,
utl::Photon photonOut,
int &  nreflections 
)
RTResult Camera::TraceShadow ( const utl::Photon photonIn,
const bool  doSupport = true 
)
int Camera::TraceSurf ( const utl::Photon photonIn,
utl::Photon photonOut,
utl::Vector normal 
)

Member Data Documentation

utl::CoordinateSystemPtr TelescopeSimulatorKG::Camera::fCameraSupportCoordinateSystem
private
double TelescopeSimulatorKG::Camera::fD1
private
double TelescopeSimulatorKG::Camera::fD2
private
double TelescopeSimulatorKG::Camera::fHMerc
private
double TelescopeSimulatorKG::Camera::fMercedesEff
private

Definition at line 102 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.

Referenced by Camera(), and TraceMerc().

double TelescopeSimulatorKG::Camera::fNt
private
double TelescopeSimulatorKG::Camera::fNz
private
utl::Point TelescopeSimulatorKG::Camera::fOrigin
private
double TelescopeSimulatorKG::Camera::fR1
private
double TelescopeSimulatorKG::Camera::fR2
private
utl::RandomEngine& TelescopeSimulatorKG::Camera::fRandom
private
double TelescopeSimulatorKG::Camera::fRFocal
private
double TelescopeSimulatorKG::Camera::fSigma
private

Definition at line 113 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.

Referenced by Camera().

double TelescopeSimulatorKG::Camera::fSinAx
private

Definition at line 104 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.

Referenced by Camera(), and TraceShadow().

double TelescopeSimulatorKG::Camera::fSinAy
private

Definition at line 104 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.

Referenced by Camera(), and TraceShadow().

double TelescopeSimulatorKG::Camera::fSinBx
private

Definition at line 104 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.

Referenced by Camera(), and TraceShadow().

double TelescopeSimulatorKG::Camera::fSinBy
private

Definition at line 104 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.

Referenced by Camera(), and TraceShadow().

const fdet::Telescope& TelescopeSimulatorKG::Camera::fTel
private

Definition at line 96 of file Modules/FdSimulation/TelescopeSimulatorKG/Camera.h.

Referenced by Draw(), FindPixelId(), and Trace().

utl::CoordinateSystemPtr TelescopeSimulatorKG::Camera::fTelCS
private

The documentation for this class was generated from the following files:

, generated on Tue Sep 26 2023.