00001 00002 #include "Dcs_Mag_Cal.h" 00003 #include "MessageService/MsgService.h" 00004 #include "DatabaseInterface/DbiOutRowStream.h" 00005 #include "DatabaseInterface/DbiResultSet.h" 00006 #include "DatabaseInterface/DbiValidityRec.h" 00007 00008 ClassImp(Dcs_Mag_Cal) 00009 00010 // Definition of static data members 00011 // ********************************* 00012 00013 CVSID("$Id: Dcs_Mag_Cal.cxx,v 1.3 2005/03/11 16:17:48 west Exp $\n CVSID_DBIRESULTPTR "); 00014 00015 // Instantiate associated Result Pointer class. 00016 // ******************************************* 00017 00018 #include "DatabaseInterface/DbiResultPtr.tpl" 00019 template class DbiResultPtr<Dcs_Mag_Cal>; 00020 00021 #include "DatabaseInterface/DbiWriter.tpl" 00022 template class DbiWriter<Dcs_Mag_Cal>; 00023 00024 // Definition of member functions (alphabetical order) 00025 // *************************************************** 00026 00027 00028 //..................................................................... 00029 00030 void Dcs_Mag_Cal::Fill(DbiResultSet& rs, 00031 const DbiValidityRec* /* vrec */) { 00032 // 00033 // 00034 // Purpose: Fill object from Result Set 00035 // 00036 // Arguments: 00037 // rs in Result Set used to fill object 00038 // vrec in Associated validity record (or 0 if filling 00039 // DbiValidityRec) 00040 // 00041 // o Fill object from current row of Result Set. 00042 // This method demonstrates both the "dumb" fill method (just 00043 // load the data as it comes) and the smart method (check column 00044 // name and load according to column order). 00045 00046 if ( rs.TableName() != "DCS_MAG_CAL" 00047 && rs.TableName() != "Dcs_Mag_Cal" ) { 00048 00049 // Dumb method. 00050 rs >> iIsT7 >> f7Mag1 >> f7Mag2 >> f7Mag3 >> f7Mag4 >> f7Mag5 >> f7Mag6 >> f7Mag7 >> f7Mag8 >> f11Mag1 >> f11Mag2 >> f11Mag3 >> f11Mag4 >> f11Mag5 >> f11Mag6 >> f11Mag7 >> f11Mag8; 00051 00052 } 00053 00054 // Smart method 00055 else { 00056 Int_t numCol = rs.NumCols(); 00057 // The first column (SeqNo) has already been processed. 00058 for (Int_t curCol = rs.HasRowCounter() ? 3 : 2; curCol <= numCol; ++curCol) { 00059 string colName = rs.CurColName(); 00060 if ( colName == "IS_T7" ) rs >> iIsT7; 00061 else if ( colName == "CAL_ZT7_BHZ01S7" ) rs >> f7Mag1; 00062 // else if ( colName == "RPS_ERROR" ) rs >> iErr; 00063 else { 00064 MSG("Dbi",Msg::kDebug) << "Ignoring column " << curCol 00065 << "(" << colName << ")" 00066 << "; not part of DcsMagCal" << endl; 00067 rs.IncrementCurCol(); 00068 } 00069 } 00070 00071 } 00072 } 00073 //..................................................................... 00074 00075 void Dcs_Mag_Cal::Store(DbiOutRowStream& ors, 00076 const DbiValidityRec* /* vrec */) const { 00077 // Purpose: Stream object to output row stream 00078 // 00079 // Arguments: 00080 // ors in Output row stream. 00081 // vrec in Associated validity record (or 0 if filling 00082 // DbiValidityRec) 00083 // o Stream object to output row stream. 00084 00085 ors << iIsT7 << f7Mag1 << f7Mag2 << f7Mag3 << f7Mag4 << f7Mag5 << f7Mag6 << f7Mag7 << f7Mag8 << f11Mag1 << f11Mag2 << f11Mag3 << f11Mag4 << f11Mag5 << f11Mag6 << f11Mag7 << f11Mag8; 00086 } 00087 00088
1.3.9.1