+ //printf("Just created PateRec\n");
+
+//parameters to calculate freon window refractive index vs. energy
+
+ Float_t a = 1.177;
+ Float_t b = 0.0172;
+
+//parameters to calculate quartz window refractive index vs. energy
+/*
+ Energ[0] = 5.6;
+ Energ[1] = 7.7;
+*/
+ energy[0] = 5.0;
+ energy[1] = 8.0;
+ e1 = 10.666;
+ e2 = 18.125;
+ f1 = 46.411;
+ f2 = 228.71;
+
+
+ /*Float_t nquartz = 1.585;
+ Float_t ngas = 1.;
+ Float_t nfreon = 1.295;
+ Float_t value;
+ */
+
+
+
+ nmaxdegrees = 360;
+
+ for (Nphpad=0; Nphpad<nmaxdegrees;Nphpad++) {
+
+ phpad = (360./(Float_t)nmaxdegrees)*(Float_t)Nphpad;
+
+ aveEnerg = (energy[0]+energy[1])/2.;
+ //aveEnerg = 6.5;
+
+
+ nfreonave = a+b*aveEnerg;
+ nquartzave = sqrt(1+(f1/(TMath::Power(e1,2)-TMath::Power(aveEnerg,2)))+
+ (f2/(TMath::Power(e2,2)-TMath::Power(aveEnerg,2))));
+
+ //nfreonave = 1.295;
+ //nquartzave = 1.585;
+
+ ///printf("Calling DistancefromMip %f %f \n",fEmissPoint,fOmega);
+
+ //Float_t dummy =
+ PatRec->DistanceFromMip(nfreonave, nquartzave,fEmissPoint,fOmega, phpad, pointsOnCathode,fTheta,fPhi);
+
+ //Float_t points[3];
+
+ //points = pointsOnCathode;
+
+
+ //printf(" values %f %f %f\n",points[0],points[1],points[2]);
+
+ Float_t vectorLoc[3]={pointsOnCathode[0],pointsOnCathode[2],pointsOnCathode[1]};
+ Float_t vectorGlob[3];
+ iChamber->LocaltoGlobal(vectorLoc,vectorGlob);
+ SetPoint(Nphpad,vectorGlob[0],vectorGlob[1],vectorGlob[2]);
+ //fCoordEllipse[0][Nphpad] = pointsOnCathode[0];
+ //fCoordEllipse[1][Nphpad] = pointsOnCathode[1];
+
+ //printf(" values %f %f \n",pointsOnCathode[0],pointsOnCathode[1]);
+
+ }
+
+}
+
+
+
+Float_t AliRICHEllipse:: SnellAngle(Float_t iangle)
+{
+
+// Compute the Snell angle
+
+ Float_t nfreon = 1.295;
+ Float_t nquartz = 1.585;
+ Float_t ngas = 1;
+
+ Float_t sinrangle;
+ Float_t rangle;
+ Float_t a1, a2;
+
+ a1=nfreon/nquartz;
+ a2=nquartz/ngas;
+
+ sinrangle = a1*a2*sin(iangle);
+
+ if(sinrangle>1.) {
+ rangle = 999.;
+ return rangle;
+ }
+
+ rangle = asin(sinrangle);
+ //printf("iangle %f, a1*a2, %f, sinranlge, %f, rangle, %f\n", iangle, a1*a2, sinrangle, rangle);
+ return rangle;
+
+}