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

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, const bool simulateHaloEffects, const double lensIncreaseRefl, const double lensPosition, const double minLensThickness, const double torusRadius, const double tubeRadius, const double torusZ0)
 
void SetPhotonTrack (RayTracer::Track *const track)
 
RTNext Trace (const utl::Photon &photonIn, utl::Photon &photonOut)
 
RTNext TraceWithTorus (const utl::Photon &photonIn, utl::Photon &photonOut)
 Simulate the lens. More...
 
 ~Lens ()
 

Private Member Functions

void ChoosePhysicalIntersection (unsigned int &index, const RTFunctions::IntersectionList &intersections) const
 
utl::Vector CurvaturePrototype (const double x, const double y) const
 
double ProfilePrototype (const double r) const
 

Private Attributes

const double fIncreaseReflection
 
const double fIndexAir = 1.000277
 
double fLXTorusRadius = 0
 
double fLXTubeRadius = 0
 
double fLXz0 = 0
 
const double fMinLensThickness
 
unsigned int fNbug
 
const utl::Point fOrigin
 
RayTracer::TrackfPhotonTrack = nullptr
 
const utl::Point fPosPlane
 
const double fPosZ
 
const double fR1
 
const double fR2
 
utl::RandomEnginefRandom
 
const utl::TabulatedFunctionfRefractiveIndex
 
const double fSigRho
 
const bool fSimulateHaloEffects
 
utl::CoordinateSystemPtr fTelCS
 
const utl::Point fTorusOrigin
 
const double fTorusRadius
 
const double fTorusZ0
 
const utl::TabulatedFunctionfTransmittance
 
const double fTubeRadius
 

Detailed Description

Simulates the corrector ring in the raytracing of the TelescopeSimulator module.

Author
Ralf Ulrich
Date
Fri Mar 17 12:37:48 CET 2006

Definition at line 38 of file /Lens.h.

Constructor & Destructor Documentation

Lens::Lens ( utl::RandomEngine rndm,
const fdet::Telescope tel,
const bool  simulateHaloEffects,
const double  lensIncreaseRefl,
const double  lensPosition,
const double  minLensThickness,
const double  torusRadius,
const double  tubeRadius,
const double  torusZ0 
)

Definition at line 46 of file /Lens.cc.

Lens::~Lens ( )

Definition at line 819 of file /Lens.cc.

References fNbug, and INFO.

Member Function Documentation

void Lens::ChoosePhysicalIntersection ( unsigned int &  index,
const RTFunctions::IntersectionList intersections 
) const
private

Definition at line 768 of file /Lens.cc.

References fTelCS, and fTubeRadius.

Referenced by TraceWithTorus().

Vector Lens::CurvaturePrototype ( const double  x,
const double  y 
) const
private

Definition at line 724 of file /Lens.cc.

References fTelCS, utl::m, RdBeamFormer::norm(), and sqrt().

TObjArray * Lens::Draw ( )

Definition at line 670 of file /Lens.cc.

References utl::deg, fPosZ, fR1, and fR2.

Referenced by TelescopeSimulatorKG2::RayTracer::~RayTracer().

double TelescopeSimulatorKG2::Lens::ProfilePrototype ( const double  r) const
private
void TelescopeSimulatorKG2::Lens::SetPhotonTrack ( RayTracer::Track *const  track)
inline

Definition at line 58 of file /Lens.h.

References fPhotonTrack.

Referenced by TelescopeSimulatorKG2::RayTracer::Trace().

RTNext TelescopeSimulatorKG2::Lens::Trace ( const utl::Photon photonIn,
utl::Photon photonOut 
)
RTNext Lens::TraceWithTorus ( const utl::Photon photonIn,
utl::Photon photonOut 
)

Member Data Documentation

const double TelescopeSimulatorKG2::Lens::fIncreaseReflection
private

Definition at line 71 of file /Lens.h.

Referenced by TraceWithTorus().

const double TelescopeSimulatorKG2::Lens::fIndexAir = 1.000277
private

Definition at line 91 of file /Lens.h.

Referenced by TraceWithTorus().

double TelescopeSimulatorKG2::Lens::fLXTorusRadius = 0
private

Definition at line 79 of file /Lens.h.

double TelescopeSimulatorKG2::Lens::fLXTubeRadius = 0
private

Definition at line 80 of file /Lens.h.

double TelescopeSimulatorKG2::Lens::fLXz0 = 0
private

Definition at line 81 of file /Lens.h.

const double TelescopeSimulatorKG2::Lens::fMinLensThickness
private

Definition at line 75 of file /Lens.h.

unsigned int TelescopeSimulatorKG2::Lens::fNbug
private

Definition at line 95 of file /Lens.h.

Referenced by TraceWithTorus(), and ~Lens().

const utl::Point TelescopeSimulatorKG2::Lens::fOrigin
private

Definition at line 84 of file /Lens.h.

RayTracer::Track* TelescopeSimulatorKG2::Lens::fPhotonTrack = nullptr
private

Definition at line 98 of file /Lens.h.

Referenced by SetPhotonTrack().

const utl::Point TelescopeSimulatorKG2::Lens::fPosPlane
private

Definition at line 86 of file /Lens.h.

Referenced by TraceWithTorus().

const double TelescopeSimulatorKG2::Lens::fPosZ
private

Definition at line 74 of file /Lens.h.

Referenced by Draw().

const double TelescopeSimulatorKG2::Lens::fR1
private

Definition at line 89 of file /Lens.h.

Referenced by Draw(), and TraceWithTorus().

const double TelescopeSimulatorKG2::Lens::fR2
private

Definition at line 90 of file /Lens.h.

Referenced by Draw(), and TraceWithTorus().

utl::RandomEngine& TelescopeSimulatorKG2::Lens::fRandom
private

Definition at line 67 of file /Lens.h.

Referenced by TraceWithTorus().

const utl::TabulatedFunction& TelescopeSimulatorKG2::Lens::fRefractiveIndex
private

Definition at line 92 of file /Lens.h.

Referenced by TraceWithTorus().

const double TelescopeSimulatorKG2::Lens::fSigRho
private

Definition at line 94 of file /Lens.h.

const bool TelescopeSimulatorKG2::Lens::fSimulateHaloEffects
private

Definition at line 68 of file /Lens.h.

Referenced by TraceWithTorus().

utl::CoordinateSystemPtr TelescopeSimulatorKG2::Lens::fTelCS
private

Definition at line 83 of file /Lens.h.

Referenced by ChoosePhysicalIntersection(), CurvaturePrototype(), and TraceWithTorus().

const utl::Point TelescopeSimulatorKG2::Lens::fTorusOrigin
private

Definition at line 85 of file /Lens.h.

Referenced by TraceWithTorus().

const double TelescopeSimulatorKG2::Lens::fTorusRadius
private

Definition at line 76 of file /Lens.h.

Referenced by TraceWithTorus().

const double TelescopeSimulatorKG2::Lens::fTorusZ0
private

Definition at line 78 of file /Lens.h.

const utl::TabulatedFunction& TelescopeSimulatorKG2::Lens::fTransmittance
private

Definition at line 93 of file /Lens.h.

Referenced by TraceWithTorus().

const double TelescopeSimulatorKG2::Lens::fTubeRadius
private

Definition at line 77 of file /Lens.h.

Referenced by ChoosePhysicalIntersection(), and TraceWithTorus().


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

, generated on Tue Sep 26 2023.