From b6587dad161fc6afcc4cd730c521003fd5b4bb29 Mon Sep 17 00:00:00 2001
From: Mark Jones <jones@jlab.org>
Date: Fri, 1 Nov 2013 16:15:23 -0400
Subject: [PATCH] Add fThetaCentralOffset, fOopCentralOffset, fPCentralOffset
 Add fTheta_lab Do offsets in THcHallCSpectrometer::ReadDatabase

---
 src/THcHallCSpectrometer.cxx | 11 ++++++++++-
 src/THcHallCSpectrometer.h   | 12 ++++++++----
 2 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/src/THcHallCSpectrometer.cxx b/src/THcHallCSpectrometer.cxx
index 3e7cdad..86443f1 100644
--- a/src/THcHallCSpectrometer.cxx
+++ b/src/THcHallCSpectrometer.cxx
@@ -140,11 +140,20 @@ Int_t THcHallCSpectrometer::ReadDatabase( const TDatime& date )
     {"theta_offset",&fThetaOffset,kDouble},
     {"phi_offset",&fPhiOffset,kDouble},
     {"delta_offset",&fDeltaOffset,kDouble},
+    {"thetacentral_offset",&fThetaCentralOffset,kDouble},
+    {"_oopcentral_offset",&fOopCentralOffset,kDouble},
+    {"pcentral_offset",&fPCentralOffset,kDouble},
     {"pcentral",&fPCentral,kDouble},
+    {"theta_lab",&fTheta_lab,kDouble},
     {0}
   };
   gHcParms->LoadParmValues((DBRequest*)&list,prefix);
-
+  //
+  cout << " fPcentral = " <<  fPCentral << " " <<fPCentralOffset << endl; 
+  cout << " fThate_lab = " <<  fTheta_lab << " " <<fThetaCentralOffset << endl; 
+  fPCentral= fPCentral*(1.+fPCentralOffset/100.);
+  fTheta_lab=fTheta_lab + fThetaCentralOffset*(180./3.14159);
+  //
   ifstream ifile;
   ifile.open(reconCoeffFilename.c_str());
   if(!ifile.is_open()) {
diff --git a/src/THcHallCSpectrometer.h b/src/THcHallCSpectrometer.h
index 356e6cf..bc0b949 100644
--- a/src/THcHallCSpectrometer.h
+++ b/src/THcHallCSpectrometer.h
@@ -41,10 +41,14 @@ protected:
   Double_t fDetOffset_x;
   Double_t fDetOffset_y;
   Double_t fZTrueFocus;
-  Double_t fThetaOffset;
-  Double_t fPhiOffset;
-  Double_t fDeltaOffset;
-  Double_t fPCentral;
+  Double_t fThetaOffset; // Zero order term in yptar optics  matrix (rad)
+  Double_t fPhiOffset; // Zero order term in xptar optics matrix (rad)
+  Double_t fDeltaOffset; // Zero order term in delta optics matrix (%)
+  Double_t fThetaCentralOffset; // Offset of Central spectrometer angle (rad)
+  Double_t fOopCentralOffset; //Offset of central out-of-plane angle (rad) 
+  Double_t fPCentralOffset; // Offset Central spectrometer momentum (%)
+  Double_t fPCentral; // Central spectrometer momentum (GeV)
+  Double_t fTheta_lab; // Central spectrometer angle (deg)
 
   //  THaScintillator *sc_ref;  // calculate time track hits this plane
 
-- 
GitLab