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

Simulates all ray tracing inside a telescope. More...

#include <RayTracer.h>

Classes

class  Track
 

Public Member Functions

 RayTracer (const int Verbosity, const fdet::Telescope &tel, utl::RandomEngine &random, bool simulateShadow, bool simualteCameraSupportShadow, bool simulateMercedesStars, bool simulateFilterStructure, bool simulateHaloEffects, bool simulateGhostEffects, const int maxMirrorReflections, const double mirrorSize, const double mirrorSegmentSigma, const double mirrorRadiusSigma, const double mirrorAbsorptionTop, const double mirrorAbsorptionBot, utl::TabulatedFunction *mirrorDiffusionTop, utl::TabulatedFunction *mirrorDiffusionBot, const double filterIncreaseReflInside, const double filterIncreaseReflOutside, const double filterPosition, const double filterPositionVertical, const double filterPositionVertical2, const double filterPositionHorizontal, const double filterDustAbsorption, const double lensIncreaseRefl, const double lensPosition, const double minLensThickness, const double torusRadius, const double tubeRadius, const double torusZ0, const double pmt_n, bool plotPhotonTracks=false, bool plotPhotonTracksAtMercedes=false, double drawPhotonsProbabilty=0)
 
RTResult Trace (const utl::Photon &photonIn, utl::Photon &photonOut, int &nreflections, int &nbackscattered, int &col, int &row)
 Raytracing through the telescope components. More...
 
 ~RayTracer ()
 

Private Member Functions

RayTraceroperator= (const RayTracer &)
 
 RayTracer ()
 
 RayTracer (const RayTracer &)
 

Private Attributes

CamerafCamera
 
double fDrawPhotonProbability
 
FilterfFilter
 
bool fHasCorrectorRing
 
LensfLens
 
const int fMaxMirrorReflections
 
MirrorfMirror
 
int fNTooManyReflections
 
TObjArray * fObjectsPhotons
 
bool fPlotPhotonTracks
 
const utl::RandomEnginefRandom
 
bool fSimualteCameraSupportShadow
 
bool fSimulateCameraShadow
 
bool fSimulateFilterStructure
 
bool fSimulateGhostEffects
 
bool fSimulateHaloEffects
 
bool fSimulateMercedesStars
 
const fdet::TelescopefTel
 
int fVerbosity
 

Detailed Description

Simulates all ray tracing inside a telescope.

Author
Ralf Ulrich
Date
Mon Apr 24 23:27:58 ART 2006

Definition at line 43 of file /RayTracer.h.

Constructor & Destructor Documentation

TelescopeSimulatorKG2::RayTracer::RayTracer ( )
private
TelescopeSimulatorKG2::RayTracer::RayTracer ( const RayTracer )
private
RayTracer::RayTracer ( const int  Verbosity,
const fdet::Telescope tel,
utl::RandomEngine random,
bool  simulateShadow,
bool  simualteCameraSupportShadow,
bool  simulateMercedesStars,
bool  simulateFilterStructure,
bool  simulateHaloEffects,
bool  simulateGhostEffects,
const int  maxMirrorReflections,
const double  mirrorSize,
const double  mirrorSegmentSigma,
const double  mirrorRadiusSigma,
const double  mirrorAbsorptionTop,
const double  mirrorAbsorptionBot,
utl::TabulatedFunction mirrorDiffusionTop,
utl::TabulatedFunction mirrorDiffusionBot,
const double  filterIncreaseReflInside,
const double  filterIncreaseReflOutside,
const double  filterPosition,
const double  filterPositionVertical,
const double  filterPositionVertical2,
const double  filterPositionHorizontal,
const double  filterDustAbsorption,
const double  lensIncreaseRefl,
const double  lensPosition,
const double  minLensThickness,
const double  torusRadius,
const double  tubeRadius,
const double  torusZ0,
const double  pmt_n,
bool  plotPhotonTracks = false,
bool  plotPhotonTracksAtMercedes = false,
double  drawPhotonsProbabilty = 0 
)
RayTracer::~RayTracer ( )

Member Function Documentation

RayTracer& TelescopeSimulatorKG2::RayTracer::operator= ( const RayTracer )
private
RTResult RayTracer::Trace ( const utl::Photon photonIn,
utl::Photon photonOut,
int &  nreflections,
int &  nbackscattered,
int &  col,
int &  row 
)

Raytracing through the telescope components.

Definition at line 192 of file /RayTracer.cc.

References TelescopeSimulatorKG2::eAbsorbed, TelescopeSimulatorKG2::eCamera, TelescopeSimulatorKG2::eCameraShadow, TelescopeSimulatorKG2::eDetected, TelescopeSimulatorKG2::eDrawAndExit, TelescopeSimulatorKG2::eFilter, TelescopeSimulatorKG2::eLens, TelescopeSimulatorKG2::eLost, TelescopeSimulatorKG2::eMirror, TelescopeSimulatorKG2::eOK, ERROR, TelescopeSimulatorKG2::eTerminate, TelescopeSimulatorKG2::eTooManyReflections, fCamera, fFilter, fLens, fMaxMirrorReflections, fMirror, fNTooManyReflections, fObjectsPhotons, fPlotPhotonTracks, fSimualteCameraSupportShadow, fTel, fVerbosity, utl::Photon::GetDirection(), utl::TimeInterval::GetInterval(), utl::Photon::GetPosition(), utl::BasicVector< HepVector >::GetR(), utl::Photon::GetSource(), fdet::Telescope::GetTelescopeCoordinateSystem(), utl::Photon::GetTime(), utl::Photon::GetWeight(), utl::BasicVector< HepVector >::GetX(), utl::BasicVector< HepVector >::GetY(), utl::BasicVector< HepVector >::GetZ(), utl::meter, SdAreaSelectorWG::next(), TelescopeSimulatorKG2::RTNextName, TelescopeSimulatorKG2::RayTracer::Track::SetColor(), TelescopeSimulatorKG2::Lens::SetPhotonTrack(), TelescopeSimulatorKG2::Camera::SetPhotonTrack(), TelescopeSimulatorKG2::SIZE_RTNext, TelescopeSimulatorKG2::Filter::Trace(), TelescopeSimulatorKG2::Camera::Trace(), TelescopeSimulatorKG2::Mirror::Trace(), TelescopeSimulatorKG2::Camera::TraceShadow(), and TelescopeSimulatorKG2::Lens::TraceWithTorus().

Referenced by TelescopeSimulatorKG2::TelescopeSimulator::Run().

Member Data Documentation

Camera* TelescopeSimulatorKG2::RayTracer::fCamera
private

Definition at line 130 of file /RayTracer.h.

Referenced by RayTracer(), Trace(), and ~RayTracer().

double TelescopeSimulatorKG2::RayTracer::fDrawPhotonProbability
private

Definition at line 126 of file /RayTracer.h.

Filter* TelescopeSimulatorKG2::RayTracer::fFilter
private

Definition at line 132 of file /RayTracer.h.

Referenced by RayTracer(), Trace(), and ~RayTracer().

bool TelescopeSimulatorKG2::RayTracer::fHasCorrectorRing
private

Definition at line 122 of file /RayTracer.h.

Referenced by RayTracer().

Lens* TelescopeSimulatorKG2::RayTracer::fLens
private

Definition at line 129 of file /RayTracer.h.

Referenced by RayTracer(), Trace(), and ~RayTracer().

const int TelescopeSimulatorKG2::RayTracer::fMaxMirrorReflections
private

Definition at line 121 of file /RayTracer.h.

Referenced by Trace(), and ~RayTracer().

Mirror* TelescopeSimulatorKG2::RayTracer::fMirror
private

Definition at line 131 of file /RayTracer.h.

Referenced by RayTracer(), Trace(), and ~RayTracer().

int TelescopeSimulatorKG2::RayTracer::fNTooManyReflections
private

Definition at line 133 of file /RayTracer.h.

Referenced by Trace(), and ~RayTracer().

TObjArray* TelescopeSimulatorKG2::RayTracer::fObjectsPhotons
private

Definition at line 127 of file /RayTracer.h.

Referenced by RayTracer(), Trace(), and ~RayTracer().

bool TelescopeSimulatorKG2::RayTracer::fPlotPhotonTracks
private

Definition at line 125 of file /RayTracer.h.

Referenced by Trace(), and ~RayTracer().

const utl::RandomEngine* TelescopeSimulatorKG2::RayTracer::fRandom
private

Definition at line 114 of file /RayTracer.h.

bool TelescopeSimulatorKG2::RayTracer::fSimualteCameraSupportShadow
private

Definition at line 116 of file /RayTracer.h.

Referenced by Trace().

bool TelescopeSimulatorKG2::RayTracer::fSimulateCameraShadow
private

Definition at line 115 of file /RayTracer.h.

bool TelescopeSimulatorKG2::RayTracer::fSimulateFilterStructure
private

Definition at line 118 of file /RayTracer.h.

Referenced by RayTracer().

bool TelescopeSimulatorKG2::RayTracer::fSimulateGhostEffects
private

Definition at line 120 of file /RayTracer.h.

Referenced by RayTracer().

bool TelescopeSimulatorKG2::RayTracer::fSimulateHaloEffects
private

Definition at line 119 of file /RayTracer.h.

Referenced by RayTracer().

bool TelescopeSimulatorKG2::RayTracer::fSimulateMercedesStars
private

Definition at line 117 of file /RayTracer.h.

Referenced by RayTracer().

const fdet::Telescope* TelescopeSimulatorKG2::RayTracer::fTel
private

Definition at line 113 of file /RayTracer.h.

Referenced by RayTracer(), Trace(), and ~RayTracer().

int TelescopeSimulatorKG2::RayTracer::fVerbosity
private

Definition at line 112 of file /RayTracer.h.

Referenced by Trace(), and ~RayTracer().


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

, generated on Tue Sep 26 2023.