pdscalibdata/src/CalibParsMargGapShiftV1.cpp

Go to the documentation of this file.
00001 //--------------------------------------------------------------------------
00002 // File and Version Information:
00003 //      $Id$
00004 //
00005 // Description:
00006 //      Class CalibParsMargGapShiftV1...
00007 //
00008 // Author List:
00009 //      Mikhail S. Dubrovin
00010 //
00011 //------------------------------------------------------------------------
00012 
00013 //-----------------------
00014 // This Class's Header --
00015 //-----------------------
00016 #include "pdscalibdata/CalibParsMargGapShiftV1.h"
00017 
00018 //-----------------
00019 // C/C++ Headers --
00020 //-----------------
00021 using namespace std;
00022 
00023 //-------------------------------
00024 // Collaborating Class Headers --
00025 //-------------------------------
00026 #include "MsgLogger/MsgLogger.h"
00027 
00028 //-----------------------------------------------------------------------
00029 // Local Macros, Typedefs, Structures, Unions and Forward Declarations --
00030 //-----------------------------------------------------------------------
00031 
00032 //              ----------------------------------------
00033 //              -- Public Function Member Definitions --
00034 //              ----------------------------------------
00035 
00036 namespace pdscalibdata {
00037 
00038 //----------------
00039 // Constructors --
00040 //----------------
00041 CalibParsMargGapShiftV1::CalibParsMargGapShiftV1 ()
00042 {
00043   double arr[] = {15,   40,   0,  37,
00044                   15,   40,   0,  37,
00045                   0,     0,   0,   0};
00046   //std::vector<double> v(arr, arr+sizeof(arr)/sizeof(double));
00047   //CalibParsMargGapShiftV1((const std::vector<double>)v);
00048 
00049     m_quad_marg_x  = arr[0];
00050     m_quad_marg_y  = arr[4];
00051     m_quad_marg_z  = arr[8];
00052 
00053     m_marg_x       = arr[1];
00054     m_marg_y       = arr[5];
00055     m_marg_z       = arr[9];
00056 
00057     m_gap_x        = arr[2];
00058     m_gap_y        = arr[6];
00059     m_gap_z        = arr[10];
00060 
00061     m_shift_x      = arr[3];
00062     m_shift_y      = arr[7];
00063     m_shift_z      = arr[11];
00064 }
00065 
00066 //----------------
00067 
00068 CalibParsMargGapShiftV1::CalibParsMargGapShiftV1( const std::vector<double> v_parameters )
00069 {
00070     if (v_parameters.size() != NUMBER_OF_PARAMETERS) {
00071         WithMsgLog("CalibParsMargGapShiftV1", error, str) {
00072         str << "Expected number of parameters is " << NUMBER_OF_PARAMETERS ;
00073         str << ", read from file " << v_parameters.size() ;
00074         str << ": check the file.\n" ;
00075         }       
00076         abort();
00077     }
00078     m_quad_marg_x  = v_parameters[0];
00079     m_quad_marg_y  = v_parameters[4];
00080     m_quad_marg_z  = v_parameters[8];
00081 
00082     m_marg_x       = v_parameters[1];
00083     m_marg_y       = v_parameters[5];
00084     m_marg_z       = v_parameters[9];
00085 
00086     m_gap_x        = v_parameters[2];
00087     m_gap_y        = v_parameters[6];
00088     m_gap_z        = v_parameters[10];
00089 
00090     m_shift_x      = v_parameters[3];
00091     m_shift_y      = v_parameters[7];
00092     m_shift_z      = v_parameters[11];
00093 
00094     //this->print();
00095 }
00096 
00097 void CalibParsMargGapShiftV1::print()
00098 {
00099   cout << endl << "Margins Gaps Shifts:" << endl;  
00100   cout << "Quad margine X,Y,Z:"
00101        << "  " << m_quad_marg_x
00102        << "  " << m_quad_marg_y
00103        << "  " << m_quad_marg_z
00104        << endl;
00105 
00106   cout << "Margine      X,Y,Z:"   
00107        << "  " << m_marg_x
00108        << "  " << m_marg_y
00109        << "  " << m_marg_z
00110        << endl;
00111 
00112   cout << "Gap          X,Y,Z:"   
00113        << "  " << m_gap_x
00114        << "  " << m_gap_y
00115        << "  " << m_gap_z
00116        << endl;
00117 
00118   cout << "Shift        X,Y,Z:"   
00119        << "  " << m_shift_x
00120        << "  " << m_shift_y
00121        << "  " << m_shift_z
00122        << endl;
00123 }
00124 
00125 //----------------
00126 
00127 
00128 //--------------
00129 // Destructor --
00130 //--------------
00131 CalibParsMargGapShiftV1::~CalibParsMargGapShiftV1 ()
00132 {
00133 }
00134 
00135 } // namespace pdscalibdata

Generated on 19 Dec 2016 for PSANAmodules by  doxygen 1.4.7