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

#include <Camera.h>

Public Types

enum  HexagonDirection {
  eInside = 0, eTopRight = 1, eTopLeft = 2, eLeft = 3,
  eBottomLeft = 4, eBottomRight = 5, eRight = 6, eOutside = 7
}
 

Public Member Functions

 Camera (utl::RandomEngine &rndm, const fdet::Telescope &tel, const bool plotPhotonTracksAtMercedes, const bool simulateMercedesStars, const bool simulateHaloEffects, const bool simulateGhostEffects, const double nPmts)
 
void ConstructPlane (const int id, utl::Vector &n, utl::Point &p, const utl::CoordinateSystemPtr &pxlCS)
 
TObjArray * Draw (const bool do3D=true)
 
HexagonDirection Hexagon (const double x, const double y, const double r)
 
void SetPhotonTrack (RayTracer::Track *const track)
 
RTNext Trace (const utl::Photon &photonIn, utl::Photon &photonOut, int &nreflections, int &nbackscattered, int &col, int &row)
 
RTResult TraceMerc (const utl::CoordinateSystemPtr &pxlCS, const utl::Photon &photonIn, utl::Photon &photonOut, int &nreflections)
 
RTNext TraceShadow (const utl::Photon &photonIn, utl::Photon &photonOut, const bool doSupport=true)
 
bool TraceSurf (const utl::Photon &photonIn, utl::Photon &photonOut)
 

Private Member Functions

void CalculateCameraSupportCoordinateSystem ()
 
 Camera (const Camera &)
 
bool FindPixelId (const utl::Vector &incidentDir, int &row, int &col) const
 
Cameraoperator= (const Camera &)
 
void SetMercedesParameter (const double height, const double width)
 

Private Attributes

const double fAir_n = 1.000277
 
utl::CoordinateSystemPtr fCameraSupportCoordinateSystem
 
double fD1 = 0
 
double fD2 = 0
 
double fHMerc = 0
 
const double fMercedesEff
 
double fNt = 0
 
double fNz = 0
 
const utl::Point fOrigin
 
RayTracer::TrackfPhotonTrack = nullptr
 
const bool fPlotPhotonTracksAtMercedes
 
const double fPMT_n
 
double fR1 = 0
 
double fR2 = 0
 
utl::RandomEnginefRandom
 
double fRCurv2 = 0
 
const double fRFocal
 
const double fSigma
 
const bool fSimulateGhostEffects
 
const bool fSimulateHaloEffects
 
const bool fSimulateMercedesStars
 
const fdet::TelescopefTel
 
utl::CoordinateSystemPtr fTelCS
 

Detailed Description

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

Member Enumeration Documentation

Enumerator
eInside 
eTopRight 
eTopLeft 
eLeft 
eBottomLeft 
eBottomRight 
eRight 
eOutside 

Definition at line 71 of file Modules/FdSimulation/TelescopeSimulatorKG2/Camera.h.

Constructor & Destructor Documentation

Camera::Camera ( utl::RandomEngine rndm,
const fdet::Telescope tel,
const bool  plotPhotonTracksAtMercedes,
const bool  simulateMercedesStars,
const bool  simulateHaloEffects,
const bool  simulateGhostEffects,
const double  nPmts 
)
TelescopeSimulatorKG2::Camera::Camera ( const Camera )
private

Member Function Documentation

void TelescopeSimulatorKG2::Camera::CalculateCameraSupportCoordinateSystem ( )
private
void Camera::ConstructPlane ( const int  id,
utl::Vector n,
utl::Point p,
const utl::CoordinateSystemPtr pxlCS 
)

Definition at line 685 of file Modules/FdSimulation/TelescopeSimulatorKG2/Camera.cc.

References utl::deg, ERROR, 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 ( const double  x,
const double  y,
const double  r 
)
Camera& TelescopeSimulatorKG2::Camera::operator= ( const Camera )
private
void TelescopeSimulatorKG2::Camera::SetMercedesParameter ( const double  height,
const double  width 
)
private
void TelescopeSimulatorKG2::Camera::SetPhotonTrack ( RayTracer::Track *const  track)
inline
RTNext Camera::Trace ( const utl::Photon photonIn,
utl::Photon photonOut,
int &  nreflections,
int &  nbackscattered,
int &  col,
int &  row 
)
RTResult Camera::TraceMerc ( const utl::CoordinateSystemPtr pxlCS,
const utl::Photon photonIn,
utl::Photon photonOut,
int &  nreflections 
)
RTNext Camera::TraceShadow ( const utl::Photon photonIn,
utl::Photon photonOut,
const bool  doSupport = true 
)
bool Camera::TraceSurf ( const utl::Photon photonIn,
utl::Photon photonOut 
)

Member Data Documentation

const double TelescopeSimulatorKG2::Camera::fAir_n = 1.000277
private

Definition at line 105 of file Modules/FdSimulation/TelescopeSimulatorKG2/Camera.h.

Referenced by Trace(), and TraceMerc().

utl::CoordinateSystemPtr TelescopeSimulatorKG2::Camera::fCameraSupportCoordinateSystem
private

Definition at line 136 of file Modules/FdSimulation/TelescopeSimulatorKG2/Camera.h.

Referenced by Camera(), Draw(), and TraceShadow().

double TelescopeSimulatorKG2::Camera::fD1 = 0
private

Definition at line 122 of file Modules/FdSimulation/TelescopeSimulatorKG2/Camera.h.

Referenced by Camera(), and ConstructPlane().

double TelescopeSimulatorKG2::Camera::fD2 = 0
private

Definition at line 123 of file Modules/FdSimulation/TelescopeSimulatorKG2/Camera.h.

Referenced by Camera().

double TelescopeSimulatorKG2::Camera::fHMerc = 0
private
const double TelescopeSimulatorKG2::Camera::fMercedesEff
private

Definition at line 111 of file Modules/FdSimulation/TelescopeSimulatorKG2/Camera.h.

Referenced by TraceMerc().

double TelescopeSimulatorKG2::Camera::fNt = 0
private

Definition at line 130 of file Modules/FdSimulation/TelescopeSimulatorKG2/Camera.h.

Referenced by Camera(), and ConstructPlane().

double TelescopeSimulatorKG2::Camera::fNz = 0
private

Definition at line 129 of file Modules/FdSimulation/TelescopeSimulatorKG2/Camera.h.

Referenced by Camera(), and ConstructPlane().

const utl::Point TelescopeSimulatorKG2::Camera::fOrigin
private
RayTracer::Track* TelescopeSimulatorKG2::Camera::fPhotonTrack = nullptr
private
const bool TelescopeSimulatorKG2::Camera::fPlotPhotonTracksAtMercedes
private

Definition at line 99 of file Modules/FdSimulation/TelescopeSimulatorKG2/Camera.h.

Referenced by TraceMerc().

const double TelescopeSimulatorKG2::Camera::fPMT_n
private

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

Referenced by Trace(), and TraceMerc().

double TelescopeSimulatorKG2::Camera::fR1 = 0
private

Definition at line 124 of file Modules/FdSimulation/TelescopeSimulatorKG2/Camera.h.

Referenced by Camera(), and Draw().

double TelescopeSimulatorKG2::Camera::fR2 = 0
private

Definition at line 125 of file Modules/FdSimulation/TelescopeSimulatorKG2/Camera.h.

Referenced by Camera(), and Draw().

utl::RandomEngine& TelescopeSimulatorKG2::Camera::fRandom
private

Definition at line 97 of file Modules/FdSimulation/TelescopeSimulatorKG2/Camera.h.

Referenced by Trace(), and TraceMerc().

double TelescopeSimulatorKG2::Camera::fRCurv2 = 0
private

Definition at line 139 of file Modules/FdSimulation/TelescopeSimulatorKG2/Camera.h.

Referenced by TraceShadow().

const double TelescopeSimulatorKG2::Camera::fRFocal
private

Definition at line 110 of file Modules/FdSimulation/TelescopeSimulatorKG2/Camera.h.

Referenced by Camera(), and TraceSurf().

const double TelescopeSimulatorKG2::Camera::fSigma
private
const bool TelescopeSimulatorKG2::Camera::fSimulateGhostEffects
private

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

Referenced by Trace().

const bool TelescopeSimulatorKG2::Camera::fSimulateHaloEffects
private

Definition at line 101 of file Modules/FdSimulation/TelescopeSimulatorKG2/Camera.h.

Referenced by Trace(), and TraceMerc().

const bool TelescopeSimulatorKG2::Camera::fSimulateMercedesStars
private

Definition at line 100 of file Modules/FdSimulation/TelescopeSimulatorKG2/Camera.h.

Referenced by Trace().

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

Definition at line 98 of file Modules/FdSimulation/TelescopeSimulatorKG2/Camera.h.

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

utl::CoordinateSystemPtr TelescopeSimulatorKG2::Camera::fTelCS
private

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

, generated on Tue Sep 26 2023.