Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
dualrich_analyzer.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file dualrich_analyzer.h
1 #ifndef __DUALRICH_ANALYZER_H_
2 #define __DUALRICH_ANALYZER_H_
3 
4 #include <stdio.h>
5 #include <fstream>
6 #include <iostream>
7 #include <iomanip>
8 #include <sstream>
9 #include <string>
10 #include <vector>
11 
12 #include <cmath>
13 
14 using namespace std;
15 
17 
19 
20  private:
21 
22  public:
23 
24  double cx;
25  double cy;
26  double cz;
27  double R_mirror;
28  double refidx1;
29  double refidx2;
30  double sx,sy,sz; //coordinates of the photon hit on the mirror provided by IRT
31 
32  vector<double> ch_vector; //vector of cherenkov angles
33 
34  double ind_ray(double Ex, double Ey, double Ez, double Dx, double Dy, double Dz, double vx, double vy, double vz, int select_radiator=2); //Indirect Ray Tracing
35 
36  void set_mirror(double center_posx, double center_posy, double center_posz, double radius); //set mirror parameters
37  void set_radiator_one(double mean_refraction_index1); //set index of refraction, first radiator
38  void set_radiator_two(double mean_refraction_index2); //set index of refraction, second radiator
39 
40  void fill_cherenkov_array(double angle); //fill ch_vector
41  void cut_cherenkov_array(double theta_min, double theta_max); //cut ch_vector
42  double mean_cherenkov_angle(); //mean value of ch_vector
43  double SD_cherenkov_angle(); //SD of ch_vector
44  void clear_cherenkov_array(); //clear ch_vector
45 
46 };
47 
48 #endif
49 
50 
51