File indexing completed on 2025-08-03 08:14:07
0001 #ifndef __DUALRICH_ANALYZER_H_
0002 #define __DUALRICH_ANALYZER_H_
0003
0004 #include <stdio.h>
0005 #include <fstream>
0006 #include <iostream>
0007 #include <iomanip>
0008 #include <sstream>
0009 #include <string>
0010 #include <vector>
0011
0012 #include <cmath>
0013
0014 using namespace std;
0015
0016
0017
0018 class eic_dual_rich {
0019
0020 private:
0021
0022 public:
0023
0024 double cx;
0025 double cy;
0026 double cz;
0027 double R_mirror;
0028 double refidx1;
0029 double refidx2;
0030 double sx,sy,sz;
0031
0032 vector<double> ch_vector;
0033
0034 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);
0035
0036 void set_mirror(double center_posx, double center_posy, double center_posz, double radius);
0037 void set_radiator_one(double mean_refraction_index1);
0038 void set_radiator_two(double mean_refraction_index2);
0039
0040 void fill_cherenkov_array(double angle);
0041 void cut_cherenkov_array(double theta_min, double theta_max);
0042 double mean_cherenkov_angle();
0043 double SD_cherenkov_angle();
0044 void clear_cherenkov_array();
0045
0046 };
0047
0048 #endif
0049
0050
0051