From 47eab9586ae3e8605655befc959febba37ae38e2 Mon Sep 17 00:00:00 2001 From: Morfouace <pierre.morfouace@cea.fr> Date: Thu, 10 Nov 2022 11:39:01 +0100 Subject: [PATCH] Updating sofia project --- NPLib/Detectors/Sofia/GladFieldMap.h | 6 +- Projects/s455/Analysis.cxx | 23 ++++---- .../calibration/SofTofW/SofTofW_physics.cal | 57 ++++++++++--------- 3 files changed, 44 insertions(+), 42 deletions(-) diff --git a/NPLib/Detectors/Sofia/GladFieldMap.h b/NPLib/Detectors/Sofia/GladFieldMap.h index 5eac86cb3..ef45a5aea 100644 --- a/NPLib/Detectors/Sofia/GladFieldMap.h +++ b/NPLib/Detectors/Sofia/GladFieldMap.h @@ -111,6 +111,7 @@ class GladFieldMap{ public: double GetLeff(int ix, int iy) {return m_Leff[ix][iy];} + double GetZGlad() {return m_Z_Glad;} double GetB() {return m_B;} double GetXmin() {return m_x_min;} double GetXmax() {return m_x_max;} @@ -118,7 +119,10 @@ class GladFieldMap{ double GetYmax() {return m_y_max;} double GetZmin() {return m_z_min;} double GetZmax() {return m_z_max;} - + double GetCentralTheta() {return m_CentralTheta;} + double GetX_MWPC3() {return m_X_MWPC3;} + double GetZ_MWPC3() {return m_Z_MWPC3;} + public: void LoadMap(string filename); vector<double> InterpolateB(const vector<double>& pos); diff --git a/Projects/s455/Analysis.cxx b/Projects/s455/Analysis.cxx index 1ada8376f..d4e7a2610 100644 --- a/Projects/s455/Analysis.cxx +++ b/Projects/s455/Analysis.cxx @@ -98,12 +98,12 @@ void Analysis::Init(){ m_GladField = new GladFieldMap(); m_GladField->SetCurrent(2135.); - m_GladField->SetZGlad(2724.); + m_GladField->SetZGlad(2694.+540.5); m_GladField->SetGladTiltAngle(14.*deg); m_GladField->LoadMap("GladFieldMap.dat"); m_GladField->SetCentralTheta(20.*deg); m_GladField->SetX_MWPC3(-1.436*m); - m_GladField->SetZ_MWPC3(7.8*m); + m_GladField->SetZ_MWPC3(8.45*m); InitParameter(); InitOutputBranch(); @@ -566,15 +566,14 @@ void Analysis::FissionFragmentAnalysis(){ // *** Calculation Theta_out *** // - double Theta0 = 20.*deg; + double Theta0 = m_GladField->GetCentralTheta(); double XA = 0; double ZA = 2272; - //double ZGlad_entrance = 2694.; - double ZGlad_entrance = 2694.+540.5; - double Leff_init = 2150.; - //double ZG = ZGlad_entrance+1654.; - double ZG = ZGlad_entrance+1113.5; - double ZMW3 = 8450;//8483; + int ix = (int) (-m_GladField->GetXmin()/50); + int iy = (int) (-m_GladField->GetYmin()/50); + double Leff_init = m_GladField->GetLeff(ix,iy); + double ZG = m_GladField->GetZGlad()+Leff_init/2; + double ZMW3 = m_GladField->GetZ_MWPC3(); double XMW3 = -(ZMW3-ZG)*tan(Theta0); double ZMW2 = 2576; double X3lab = 0; @@ -625,9 +624,7 @@ void Analysis::FissionFragmentAnalysis(){ TVector3 vB = TVector3(XB,0,ZB); // *** Extrapolate to D position *** // - //XD = XC + TofHit[i].Leff/2*sin(angle)/cos(angle+Tilt); XD = XC + TofHit[i].Leff/2*tan(angle+Tilt)*cos(Tilt); - //ZD = ZC + TofHit[i].Leff/2*cos(angle)/cos(angle+Tilt); ZD = ZC + TofHit[i].Leff/2*cos(Tilt); TofHit[i].xd = XD; TofHit[i].zd = ZD; @@ -654,8 +651,8 @@ void Analysis::FissionFragmentAnalysis(){ TofHit[i].Z = Z; TofHit[i].iZ = iZ; - TofHit[i].gamma = 1. / sqrt(1 - TofHit[i].beta*TofHit[i].beta); - TofHit[i].AoQ = TofHit[i].Brho / (3.10761 * TofHit[i].beta * TofHit[i].gamma); + TofHit[i].gamma = 1. / sqrt(1 - pow(TofHit[i].beta,2)); + TofHit[i].AoQ = TofHit[i].Brho / (3.10716 * TofHit[i].beta * TofHit[i].gamma); TofHit[i].A = TofHit[i].AoQ * TofHit[i].iZ; } diff --git a/Projects/s455/calibration/SofTofW/SofTofW_physics.cal b/Projects/s455/calibration/SofTofW/SofTofW_physics.cal index 8ac9a86a7..152cb6e38 100644 --- a/Projects/s455/calibration/SofTofW/SofTofW_physics.cal +++ b/Projects/s455/calibration/SofTofW/SofTofW_physics.cal @@ -27,31 +27,32 @@ SofTofW_TOFW26_POSPAR 54.844389 67.8462 SofTofW_TOFW27_POSPAR 60.574204 67.8462 SofTofW_TOFW28_POSPAR -70.957256 67.8462 -SofTofW_TOFW1_TOFPAR 86.4227 1 -SofTofW_TOFW2_TOFPAR 84.6443 1 -SofTofW_TOFW3_TOFPAR 86.2534 1 -SofTofW_TOFW4_TOFPAR 84.6056 1 -SofTofW_TOFW5_TOFPAR 85.7587 1 -SofTofW_TOFW6_TOFPAR 86.1245 1 -SofTofW_TOFW7_TOFPAR 86.8944 1 -SofTofW_TOFW8_TOFPAR 90.3295 1 -SofTofW_TOFW9_TOFPAR 89.1225 1 -SofTofW_TOFW10_TOFPAR 90.5874 1 -SofTofW_TOFW11_TOFPAR 88.4016 1 -SofTofW_TOFW12_TOFPAR 91.3279 1 -SofTofW_TOFW13_TOFPAR 88.7778 1 -SofTofW_TOFW14_TOFPAR 90.1767 1 -SofTofW_TOFW15_TOFPAR 98.7369 1 -SofTofW_TOFW16_TOFPAR 98.0898 1 -SofTofW_TOFW17_TOFPAR 99.2279 1 -SofTofW_TOFW18_TOFPAR 97.0787 1 -SofTofW_TOFW19_TOFPAR 98.1541 1 -SofTofW_TOFW20_TOFPAR 97.8759 1 -SofTofW_TOFW21_TOFPAR 100.422 1 -SofTofW_TOFW22_TOFPAR 67.0683 1 -SofTofW_TOFW23_TOFPAR 65.9371 1 -SofTofW_TOFW24_TOFPAR 66.5314 1 -SofTofW_TOFW25_TOFPAR 65.0859 1 -SofTofW_TOFW26_TOFPAR 65.9782 1 -SofTofW_TOFW27_TOFPAR 65.3997 1 -SofTofW_TOFW28_TOFPAR 67.3737 1 +SofTofW_TOFW1_TOFPAR 86.4248 1 +SofTofW_TOFW2_TOFPAR 84.6469 1 +SofTofW_TOFW3_TOFPAR 86.2486 1 +SofTofW_TOFW4_TOFPAR 84.608 1 +SofTofW_TOFW5_TOFPAR 85.7613 1 +SofTofW_TOFW6_TOFPAR 86.1248 1 +SofTofW_TOFW7_TOFPAR 86.8951 1 +SofTofW_TOFW8_TOFPAR 90.3324 1 +SofTofW_TOFW9_TOFPAR 89.1531 1 +SofTofW_TOFW10_TOFPAR 90.5909 1 +SofTofW_TOFW11_TOFPAR 88.4043 1 +SofTofW_TOFW12_TOFPAR 91.3291 1 +SofTofW_TOFW13_TOFPAR 88.7795 1 +SofTofW_TOFW14_TOFPAR 90.1772 1 +SofTofW_TOFW15_TOFPAR 98.7384 1 +SofTofW_TOFW16_TOFPAR 98.0938 1 +SofTofW_TOFW17_TOFPAR 99.2282 1 +SofTofW_TOFW18_TOFPAR 97.0792 1 +SofTofW_TOFW19_TOFPAR 98.1545 1 +SofTofW_TOFW20_TOFPAR 97.8762 1 +SofTofW_TOFW21_TOFPAR 100.423 1 +SofTofW_TOFW22_TOFPAR 67.0665 1 +SofTofW_TOFW23_TOFPAR 65.9318 1 +SofTofW_TOFW24_TOFPAR 66.5305 1 +SofTofW_TOFW25_TOFPAR 65.0854 1 +SofTofW_TOFW26_TOFPAR 65.9787 1 +SofTofW_TOFW27_TOFPAR 65.4026 1 +SofTofW_TOFW28_TOFPAR 67.3701 1 + -- GitLab