The goal is to calculate and visualize the solid angle of a cylindric detector seen from a gaussian source. Afterwards, we also want to calculate the interaction probabilities depending on the material of the cylinder. The "program" is made of two parts: 1)tirMGauss->Generates isotropic rays from a gaussian source and saves those that intersect with the cylinder in a textfile. 2)display_3D->Reads the previous file and creates a 3D display. It also generates a copy of the read data and an "intersections.txt" file which contains the coordinates of the intersections. Syntax: void tirMGauss( char *filename, //name of the file where the ray data is stored int N=20000, //number of rays generated (different from the number of intersecting rays) double sigma=1, //RMS of the gaussian source double xd=5, //x position of the cylinder (center of the bottom of the cylinder) double yd=0, //y position of the cylinder (center of the bottom of the cylinder) double zd=10, //z position of the cylinder (center of the bottom of the cylinder) double dl=8, //height of the cylinder double r0=2) //radius of the cylinder void display_3D( char* filename, //name of the file where the ray data is stored int Nppl=200, //nb of points/line for the 3D lines bool disp_cyl=true, //display the cylinder bool disp_main_base=true, //display the main base (placed so that z(cylindre)=0) bool disp_source_base=true, //display the source base bool disp_rays=true, //display the rays (=0,1,2,3)(yellow=intersects, green=does not intersect) bool disp_in_pts=true, //display entry points bool disp_out_pts=true, //display exit points bool disp_src_pts=true) //display source points Note: -disp_rays=0: no rays displayed -disp_rays=1: rays stop at entry points -disp_rays=2: rays stop at exit points -disp_rays=3: rays have a fixed length (2*range)