| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

CalibPmtSpec.cc

Go to the documentation of this file.
00001 
00002 // $Id: CalibPmtSpec.cc,v 1.0 2009/7/4 16:40:00 $
00003 //
00004 // CalibPmtSpec
00005 //
00006 // Package: Dbi (Database Interface).
00007 //
00008 // Concept: A concrete data type corresponding to a single row in a
00009 //          database table of non-aggregated data.
00010 //
00011 // based on DataModel/DataSvc/ and Database/DbiSimDataSvc
00012 // - Weili Zhong 7/4/2009
00013 //   
00014 //
00016 
00017 #include "DbiDataSvc/CalibPmtSpec.h"
00018 #include "DatabaseInterface/DbiLog.h"
00019 #include "DatabaseInterface/DbiOutRowStream.h"
00020 #include "DatabaseInterface/DbiResultSet.h"
00021 #include "DatabaseInterface/DbiValidityRec.h"
00022 
00023 // Removed: ClassImp(CalibPmtSpec)
00024 
00025 
00026 //   Definition of static data members
00027 //   *********************************
00028 
00029 
00030 //  Instantiate associated Result Pointer and writer classes.
00031 //  ********************************************************
00032 
00033 #include "DatabaseInterface/DbiResultPtr.tpl"
00034 template class  DbiResultPtr<CalibPmtSpec>;
00035 
00036 #include "DatabaseInterface/DbiWriter.tpl"
00037 template class  DbiWriter<CalibPmtSpec>;
00038 
00039 // Definition of member functions (alphabetical order)
00040 // ***************************************************
00041 
00042 
00043 //.....................................................................
00044 
00045 void CalibPmtSpec::Fill(DbiResultSet& rs,
00046                         const DbiValidityRec* /* vrec */) {
00047 //
00048 //
00049 //  Purpose:  Fill object from Result Set
00050 //
00051 //  Arguments: 
00052 //    rs           in    Result Set used to fill object
00053 //    vrec         in    Associated validity record (or 0 if filling
00054 //                                                    DbiValidityRec)
00055 //  Return:    
00056 //
00057 //  Modified from the SimPmtSpec
00058 //
00059 //  Specification:-
00060 //  =============
00061 //
00062 //  o Fill object from current row of Result Set.
00063 
00064 //  Program Notes:-
00065 //  =============
00066 
00067   Int_t numCol = rs.NumCols();
00068   //  The first column (SeqNo) has already been processed.
00069   for (Int_t curCol = 2; curCol <= numCol; ++curCol) {
00070     string colName = rs.CurColName();
00071     if (      colName == "PMTID"            ){
00072       //int pmtId = 0; rs >> pmtId; 
00073       //m_pmtId = DayaBay::DetectorSensor( pmtId );
00074       rs >> m_pmtId;
00075     }
00076     else if ( colName == "PMTDESCRIB"       ) rs >> m_describ;
00077     else if ( colName == "PMTSTATUS"        ) rs >> m_status;//rewrited by Xiaosu Chen. 
00078     else if ( colName == "PMTSPEHIGH"       ) rs >> m_speHigh;
00079     else if ( colName == "PMTSIGMASPEHIGH"  ) rs >> m_sigmaSpeHigh;
00080     else if ( colName == "PMTSPELOW"        ) rs >> m_speLow;
00081     else if ( colName == "PMTTOFFSET"       ) rs >> m_timeOffset;
00082     else if ( colName == "PMTTSPREAD"       ) rs >> m_timeSpread;
00083     else if ( colName == "PMTEFFIC"         ) rs >> m_efficiency;
00084     else if ( colName == "PMTPREPULSE"      ) rs >> m_prePulseProb;
00085     else if ( colName == "PMTAFTERPULSE"    ) rs >> m_afterPulseProb;
00086     else if ( colName == "PMTDARKRATE"      ) rs >> m_darkRate;
00087     else {
00088       LOG(dbi,Logging::kDebug1) << "Ignoring column " << curCol 
00089                                 << "(" << colName << ")"
00090                                 << "; not part of CalibPmtSpec" << std::endl;
00091       rs.IncrementCurCol();
00092     }
00093   }
00094 }
00095 //.....................................................................
00096 
00097 void CalibPmtSpec::Store(DbiOutRowStream& ors,
00098                          const DbiValidityRec* /* vrec */) const {
00099 //
00100 //
00101 //  Purpose:  Stream object to output row stream
00102 //
00103 //  Arguments: 
00104 //    ors          in     Output row stream.
00105 //    vrec         in    Associated validity record (or 0 if filling
00106 //                                                    DbiValidityRec)
00107 //
00108 //  Return:    
00109 //
00110 //  Contact:   N. West
00111 //
00112 //  Specification:-
00113 //  =============
00114 //
00115 //  o  Stream object to output row stream.
00116 
00117 //  Program Notes:-
00118 //  =============
00119 
00120 //  None.
00121   ors << m_pmtId << m_describ << m_status 
00122       << m_speHigh << m_sigmaSpeHigh << m_speLow << m_timeOffset 
00123       << m_timeSpread << m_efficiency << m_prePulseProb 
00124       << m_afterPulseProb << m_darkRate;
00125 
00126 /*
00127   ors << m_pmtId.sensorId() << m_describ << m_status 
00128       << m_speHigh << m_sigmaSpeHigh << m_speLow << m_timeOffset 
00129       << m_timeSpread << m_efficiency << m_prePulseProb 
00130       << m_afterPulseProb << m_darkRate;
00131 */
00132 }
00133 
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:21:48 2011 for DbiDataSvc by doxygen 1.4.7