00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include "pdscalibdata/CsPadBeamVectorV1.h"
00017
00018
00019
00020
00021 #include <string.h>
00022 #include <stdlib.h>
00023
00024
00025
00026
00027 #include "MsgLogger/MsgLogger.h"
00028
00029
00030
00031
00032
00033 using namespace std;
00034
00035
00036
00037
00038
00039 namespace pdscalibdata {
00040
00041
00042
00043
00044
00045 CsPadBeamVectorV1::CsPadBeamVectorV1 ()
00046 {
00047
00048
00049
00050
00051 std::fill_n(&m_beam_vector[0], int(NUMBER_OF_PARAMETERS), double(0));
00052 }
00053
00054
00055
00056 CsPadBeamVectorV1::CsPadBeamVectorV1( const std::vector<double> v_parameters )
00057 {
00058 if (v_parameters.size() != NUMBER_OF_PARAMETERS) {
00059 WithMsgLog("CsPadBeamVectorV1", error, str) {
00060 str << "Expected number of parameters is " << NUMBER_OF_PARAMETERS ;
00061 str << ", read from file " << v_parameters.size() ;
00062 str << ": check the file.\n" ;
00063 }
00064 abort();
00065 }
00066 size_t arr_size = sizeof( double ) * v_parameters.size();
00067 memcpy( &m_beam_vector, &v_parameters[0], arr_size );
00068
00069 }
00070
00071 void CsPadBeamVectorV1::print()
00072 {
00073 cout << endl << "Beam Vector:" << endl;
00074 for( int i=0; i<NUMBER_OF_PARAMETERS; ++i ) { cout << " " << m_beam_vector[i]; }
00075 cout << endl;
00076 }
00077
00078
00079
00080
00081
00082 CsPadBeamVectorV1::~CsPadBeamVectorV1 ()
00083 {
00084 }
00085
00086 }