00001 #include "CalDetPID/CalDetTOFRange.h"
00002 #include "MessageService/MsgService.h"
00003 #include "DatabaseInterface/DbiOutRowStream.h"
00004 #include "DatabaseInterface/DbiResultSet.h"
00005 #include "DatabaseInterface/DbiValidityRec.h"
00006
00007 ClassImp(CalDetTOFRange)
00008
00009
00010 CVSID("$Id: CalDetTOFRange.cxx,v 1.5 2005/03/11 16:17:48 west Exp $\n \
00011 CVSID_DBIRESULTPTR ");
00012
00013 #include "DatabaseInterface/DbiResultPtr.tpl"
00014 template class DbiResultPtr<CalDetTOFRange>;
00015
00016 #include "DatabaseInterface/DbiWriter.tpl"
00017 template class DbiWriter<CalDetTOFRange>;
00018
00019 void CalDetTOFRange::Fill(DbiResultSet& rs,
00020 const DbiValidityRec* ) {
00021
00022 if ( rs.TableName() == "CALDETTOFRANGE" ) {
00023
00024 rs>> fParticleType
00025 >> fTDC0Low
00026 >> fTDC0High
00027 >> fTDC1Low
00028 >> fTDC1High
00029 >> fTDC2Low
00030 >> fTDC2High
00031 >> fTDC2_Minus_TDC0_Low
00032 >> fTDC2_Minus_TDC0_High
00033 >> fTDC2_Minus_TDC1_Low
00034 >> fTDC2_Minus_TDC1_High;
00035 }
00036 else{
00037
00038 Int_t numCol = rs.NumCols();
00039
00040 for (Int_t curCol = rs.HasRowCounter() ? 3 : 2; curCol <= numCol; ++curCol) {
00041 string colName = rs.CurColName();
00042 if ( colName == "PARTICLETYPE" ) rs >> fParticleType;
00043 else if ( colName == "TDC0LOW" ) rs >> fTDC0Low;
00044 else if ( colName == "TDC0HIGH" ) rs >> fTDC0High;
00045 else if ( colName == "TDC1LOW" ) rs >> fTDC1Low;
00046 else if ( colName == "TDC1HIGH" ) rs >> fTDC1High;
00047 else if ( colName == "TDC2LOW" ) rs >> fTDC2Low;
00048 else if ( colName == "TDC2HIGH" ) rs >> fTDC2High;
00049 else if ( colName == "TDC2MINUSTDC0LOW" ) rs >> fTDC2_Minus_TDC0_Low;
00050 else if ( colName == "TDC2MINUSTDC0HIGH" ) rs >> fTDC2_Minus_TDC0_High;
00051 else if ( colName == "TDC2MINUSTDC1LOW" ) rs >> fTDC2_Minus_TDC1_Low;
00052 else if ( colName == "TDC2MINUSTDC1HIGH" ) rs >> fTDC2_Minus_TDC1_High;
00053 else {
00054 MSG("Dbi",Msg::kDebug) << "Ignoring column " << curCol
00055 << "(" << colName << ")"
00056 << "; not part of CalDetTOFRange"
00057 << endl;
00058 rs.IncrementCurCol();
00059 }
00060 }
00061
00062 }
00063 }
00064
00065 void CalDetTOFRange::Store(DbiOutRowStream& ors,
00066 const DbiValidityRec* ) const {
00067
00068 ors<< fParticleType
00069 << fTDC0Low
00070 << fTDC0High
00071 << fTDC1Low
00072 << fTDC1High
00073 << fTDC2Low
00074 << fTDC2High
00075 << fTDC2_Minus_TDC0_Low
00076 << fTDC2_Minus_TDC0_High
00077 << fTDC2_Minus_TDC1_Low
00078 << fTDC2_Minus_TDC1_High;
00079 }
00080
00081 std::ostream& CalDetTOFRange::Print(std::ostream& os, Option_t*) const
00082 {
00083 os<< "-----------------------------------------------\n"
00084 << "PARTICLETYPE: "<<fParticleType<<"\n"
00085 << "TDC0LOW: "<<fTDC0Low<<"\n"
00086 << "TDC0HIGH: "<<fTDC0High<<"\n"
00087 << "TDC1LOW: "<<fTDC1Low<<"\n"
00088 << "TDC1HIGH: "<<fTDC1High<<"\n"
00089 << "TDC2LOW: "<<fTDC2Low<<"\n"
00090 << "TDC2HIGH: "<<fTDC2High<<"\n"
00091 << "TDC2MINUSTDC0LOW: "<<fTDC2_Minus_TDC0_Low<<"\n"
00092 << "TDC2MINUSTDC0HIGH: "<<fTDC2_Minus_TDC0_High<<"\n"
00093 << "TDC2MINUSTDC1LOW: "<<fTDC2_Minus_TDC1_Low<<"\n"
00094 << "TDC2MINUSTDC1HIGH: "<<fTDC2_Minus_TDC1_High<<"\n"
00095 << "-----------------------------------------------";
00096 return os;
00097 }
00098
00099 std::ostream& operator<<(std::ostream&os, const CalDetTOFRange& tr)
00100 {
00101 return tr.Print(os);
00102 }
00103
00104 void CalDetTOFRange::Print(Option_t* op) const
00105 {
00106 Print(std::cout,op);
00107 }
00108
00109 std::string CalDetTOFRange::GetTableDesc(){
00110 return std::string(
00111 "(SeqNo int, PARTICLETYPE int,"
00112 " TDC0LOW float, TDC0HIGH float, "
00113 " TDC1LOW float, TDC1HIGH float, "
00114 " TDC2LOW float, TDC2HIGH float, "
00115 " TDC2MINUSTDC0LOW float, TDC2MINUSTDC0HIGH float, "
00116 " TDC2MINUSTDC1LOW float, TDC2MINUSTDC1HIGH float )"
00117 );
00118 }
00119