RTFunctions.h
Go to the documentation of this file.
1 #ifndef _RTFunctions_
2 #define _RTFunctions_
3 
4 namespace utl {
5  class Point;
6  class RandomEngine;
7 }
8 
9 #include <utl/Photon.h>
10 #include <utl/Vector.h>
11 
12 #include <vector>
13 #include <utility>
14 
15 namespace TelescopeSimulatorKG {
16 
17  namespace RTFunctions {
18 
19  int Reflection (const utl::Photon& photonIn, const utl::Vector& normal, utl::Photon& photonOut);
20 
21  typedef std::vector<utl::Photon> PhotonList;
22  int Refraction(const double n12, const utl::Photon& photonIn, const utl::Vector& normal, PhotonList& photonsOut);
23 
24  double Plane (const utl::Point& point, const utl::Vector& normal,
25  const utl::Photon& phtotnIn, utl::Photon& phtotnOut);
26 
27  typedef std::pair<utl::Photon, utl::Vector> PhotonNormalPair;
28  typedef std::vector<PhotonNormalPair> IntersectionList;
29  int Sphere (const utl::Point& origin, const double radius,
30  const utl::Photon& photonIn,
31  IntersectionList& intersections);
32 
33  utl::Vector RandomNormal (utl::RandomEngine& rndm, const utl::Vector& normalIn, double sigma_alpha,
34  const utl::Vector& rayIn);
35 
36  }
37 
38 }
39 
40 #endif
double Plane(const utl::Point &point, const utl::Vector &normal, const utl::Photon &photonIn, utl::Photon &photonOut)
Definition: RTFunctions.cc:41
Point object.
Definition: Point.h:32
std::vector< utl::Photon > PhotonList
Definition: RTFunctions.h:21
int Reflection(const utl::Photon &photonIn, const Vector &normal, utl::Photon &photonOut)
Definition: RTFunctions.cc:29
int Sphere(const Point &origin, const double radius, const utl::Photon &photonIn, IntersectionList &intersection)
Definition: RTFunctions.cc:142
Wraps the random number engine used to generate distributions.
Definition: RandomEngine.h:27
std::vector< PhotonNormalPair > IntersectionList
Definition: RTFunctions.h:28
int Refraction(const double n12, const utl::Photon &photonIn, const Vector &normal, PhotonList &photonsOut)
Definition: RTFunctions.cc:61
std::pair< utl::Photon, utl::Vector > PhotonNormalPair
Definition: RTFunctions.h:27
Vector object.
Definition: Vector.h:30
Vector RandomNormal(utl::RandomEngine &rndm, const Vector &normalIn, double sigma_alpha, const Vector &rayIn)
Definition: RTFunctions.cc:210

, generated on Tue Sep 26 2023.